Задать вопрос
jessepinkman010101
@jessepinkman010101
Варю синий код

Может ли length быть отрицательным?

Есть условие: проверка длинны переменной
if(myVar.length == 0) {
  ....
}


Есть ли смысл писать так ?
if(myVar.length <= 0) {
  ....
}
  • Вопрос задан
  • 175 просмотров
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
У переменной нет никакой длины. По вашему коду однозначно ответить на вопрос нельзя.

Обычно, когда речь идёт про свойство length, подразумевается массив, и в этом случае в большинстве браузеров js не даст записать туда отрицательное значение.

Однако, в общем случае это просто свойство объекта и ничто не мешает написать так:
var myVar = {
  length: -100500
};


P.S. Я параноик и всегда в данном случае пишу <=. Пусть это не имеет практического смысла в данном конкретном контексте, но помогает не забыть про это условие в других случаях, когда отрицательное значение не ожидается, но его появление всё же физически возможно. Мозг проще натренировать на одно правило, чем вспоминать, есть защита при присвоении где-то в другой части кода или нет.
Ответ написан
Комментировать
kritskiy_a
@kritskiy_a
Frontend-developer
нет, не может и особого смысла писать со знаком "меньше" нет
это же длина. как длина может быть отрицательной?)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы