jessepinkman010101
@jessepinkman010101
Варю синий код

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

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


Есть ли смысл писать так ?
if(myVar.length <= 0) {
  ....
}
  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
У переменной нет никакой длины. По вашему коду однозначно ответить на вопрос нельзя.

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

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


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

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

Войти через центр авторизации
Похожие вопросы