Задать вопрос
IU_Sviridov
@IU_Sviridov
Развиваюсь в направлении web-разработки

Какой смысл несет в себе конструкция !! в js?

Какой смысл несет в себе конструкция !! в js? Например:

!!this.model.get('compactMode')
  • Вопрос задан
  • 204 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Получение логического эквивалента значения. Оператор логического отрицания применяется дважды, например:

!!187 -> !false -> true
!!NaN -> !true -> false

Тот же результат даст Boolean(значение).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@DLeo13
Ещё называют двойным отрицанием. Когда ты используешь !, ты приводишь выражение к противоположному текущему в логическом эквиваленте. Потом ты отрицаешь полученное выражение.

!0 // true
!!0 // false

На самом деле удобно, но стоит использовать осторожно. Не нужно забывать про разницу между == и ===. Правила схожи.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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