Привет, Dev 😉, в этом посте я покажу вам, как сократить длину ваших условных утверждений, используя силу правды JavaScript и фальсификации. Давайте сломаем это.
Прежде чем обсудить правдивые и фальшивые ценности, давайте немного рассмотрим, как JavaScript обрабатывает условные утверждения.
В JavaScript условие, передаваемое любому условному утверждению, является первым принудительно (трансформировано) в это Логический контекст
Он основан на результате этого принуждения/преобразования, что JavaScript знает, должен ли он выполнить тело оператора или пропустить его.
Взять, к примеру.
if(1+1 == 2){ console.log('passed'); }else{ console.log('failed');
Когда JavaScript сталкивается с этим условным утверждением выше, он сначала оценивает 1+1
и результат этой оценки может быть только истинный или ложный Потому что 1+1
(что приведет к 2 ) может быть равен только 2 ( true ), или нет ( false ).
Результатом этой оценки является то, что определяет, выполнит ли JavaScript console.log ('прошел')
или console.log ('неудачный')
Анкет
И в нашем случае он в конечном итоге будет регистрировать «передачу» к консоли, потому что результат этой оценки будет истинный (1+1 – 2).
Вот как работают JavaScript и в значительной степени другие языки. Просто знай, что что угодно Передается в блок состояния заявления будет принужден к истинному или неверно, оценивая его. И вот и интересная часть, я сказал что -нибудь, и я имею в виду что -нибудь. Любое действительное выражение.
Вы можете пройти в функциональных вызовах, и возвращаемое значение этой функции будет принуждено.
if(getName()){ // do something }
Вы можете пройти со ссылкой на переменные, и упомянутое значение будет принуждено.
if(localStorage.todos){ // do something }
Теперь вам может быть интересно, как будут принуждать типы данных, такие как строки, массивы, объекты. Теперь давайте посмотрим, как JavaScript решает, что является правдой или ложным.
Правдивые и фальшивые ценности
A Правда Значение – это значение, которое считается Верно
При встрече в логическом контексте.
A фальсификация Значение – это значение, которое считается ложный
При встрече в логическом контексте.
1. Фальшивые ценности
ложный
, 0
В -0
, 0n
, ""
, NULL
, неопределенное
, и НАН
)
2. Правдивые ценности
Все, что не перечислено выше, считается правдой. например []
, {a: 1}
, 1
, так далее.
Прелесть этого в том, что JavaScript оценит ваше выражение, прежде чем определить, правда или фальсификация. Итак, вы можете сделать что -то вроде
if([]){...} if(null){...} if({a:1}){...}
Так что это дает вам мощную стенографию для проверки условий. if (3> 2)
можно сократить до if (3> 2)
Анкет
Вот быстрый поток того, как будет выполнено выполнение для if (3> 2)
Из:
if(3 > 2 == true)
К:
if(true == true)
К:
if(true)
Резюме
Наличие этого знания дает вам возможность писать условные условия, как профессионалы, оно снижает ваши строки кодов и быстрее выполняет выполнение.
Я надеюсь, что вы что -то узнали, я хотел бы узнать ваши мысли по этому поводу. Счастливого кодирования 💻.
Оригинал: “https://dev.to/stanleyugwu/write-javascript-conditionals-like-a-pro-with-truthy-and-falsy-values-4hgj”