Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.07.2021, 14:26
Интересующийся
Отправить личное сообщение для Oleg_Lugaro Посмотреть профиль Найти все сообщения от Oleg_Lugaro
 
Регистрация: 30.10.2020
Сообщений: 10

[] == true - это ложь, но функция if([]){} выполняется
https://clip2net.com/clip/m0/47f7b-c....png?nocache=1

Спасибо кто объяснит
Ответить с цитированием
  #2 (permalink)  
Старый 24.07.2021, 14:38
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

== для сравнения сначала приводит типы к общему знаменателю с обоих сторон.
Не обязательно именно к Boolean.
Не обязательно с первого раза.
Там длинный список правил и очерёдности.

if же приводит аргумент конкретно и сразу к Boolean:
Boolean([]) === true // true


P.S. В современном js никто не использует ==, как раз чтобы не париться по этому поводу. Используй === и явные приведения, и ни о чём не волнуйся.)
__________________
29375, 35

Последний раз редактировалось Aetae, 24.07.2021 в 14:41.
Ответить с цитированием
  #3 (permalink)  
Старый 25.07.2021, 10:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Oleg_Lugaro
но функция if([]){} выполняется
Потому как пустой массив не является "фолси"....
https://askdev.ru/q/vse-znacheniya-f...ascript-11477/
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баги Opera пишем сюда devote Оффтопик 101 08.08.2013 05:56
фрактальный сыр x-yuri Оффтопик 76 23.11.2011 21:59
Как написать это грамматно, простая функция Harvey jQuery 3 13.09.2011 12:30
Окно открывается только один раз altermann ExtJS 8 22.04.2010 11:55
Замыкание - это... Zeroglif Общие вопросы Javascript 11 06.03.2009 22:04