Массив в JS является псевдоложью? [дубликат]

98
27 апреля 2021, 14:10
На этот вопрос уже даны ответы здесь:
Преобразование скалярных типов при сравнении JavaScript (2 ответа)
Закрыт 1 год назад.

Задаю данный вопрос, так как пишут, что [] -не является псевдоложью,но ведь:

console.log([] - true); // -1
console.log([] == true); // false 
let emptyArr =[]
if(emptyArr)
console.log('true')// true
let emptyArr =[]
if(emptyArr && emptyArr == true)
console.log('true')// false 

Вроде пишут только о 5 псевдоложных значения или это старая инфа? Вообще мне конечно нравится выражения, типа true - true = 0)))

Answer 1

Ответ в сниппете:

let emptyArr = [] 
if(emptyArr) 
  console.log('нет')

Демонстрация как работает приведение массива и булевого типа к числу, которое используется, когда вы применяете вычитание:

console.log(+[] ); // 0; 
console.log(+[1]); // 1; 
console.log(+[2]); // 2; 
console.log(+[2,2]); // NaN; 
console.log(+true ); // 1;

READ ALSO
JS - показывать div в зависимости от содержания другого div

JS - показывать div в зависимости от содержания другого div

Как с помощью js сделать чтобы блок с классом item отображался только если в блоке с классом title было слово "Слово"? (по умолчанию стоит dispay:none,...

135
Помогите пожалуйста с версткой лого

Помогите пожалуйста с версткой лого

Нужно сверстать такое логоТут много проблем поскольку во-первых у двух слов разный размер 29pt 18pt

83