0Pricing
JavaScript Academy · Урок

typeof, истинные и ложные значения, == и ===

Безопасно используйте typeof, распознавайте истинные и ложные значения и правильно сравнивайте значения с помощью ===.

«typeof, истинные и ложные значения, == и ===» — бесплатный урок JavaScript Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения JavaScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс JavaScript Academy содержит 3 уроков всего.

Введение

Цель: Узнать, как typeof определяет типы, какие значения являются истинными или ложными и когда использовать === вместо ==.

  • Основы typeof
  • Истинные и ложные значения
  • Строгое равенство
typeof, истинные и ложные значения, == и === — иллюстрация 1

Обзор typeof

typeof удобен для быстрой проверки примитивов. Учтите устаревшую особенность: typeof null возвращает "object".

// typeof returns a string describing the type
console.log(typeof 42);        
 // "number"
console.log(typeof "hi");       
// "string"
console.log(typeof true);      
 // "boolean"
console.log(typeof undefined);  
// "undefined"
console.log(typeof 10n);        
// "bigint"
console.log(typeof Symbol("x"));
// "symbol"
console.log(typeof null);       
// "object"  (historic quirk)
typeof, истинные и ложные значения, == и === — иллюстрация 2

Истинные и ложные значения (понятие)

Ложные значения: 0, -0, 0n, "", false, null, undefined, NaN. Все остальные значения являются истинными (например, "0", "false", [], {}, function(){}).

typeof, истинные и ложные значения, == и === — иллюстрация 3

Проверка истинности

Используйте Boolean(x) или if, чтобы увидеть, как значение ведёт себя в условиях.

// Use Boolean(x) or if (x) to test truthiness
console.log(Boolean("0"));  
// true (non-empty string)
console.log(Boolean(""));   
// false (empty string)
console.log(Boolean([]));   
// true (arrays are objects)
console.log(Boolean(0));    
// false
console.log(Boolean({}));   
// true
typeof, истинные и ложные значения, == и === — иллюстрация 4

Проблемы нестрогого равенства

== приводит типы, создавая запутанные совпадения. В большинстве программ избегайте этого оператора.

// == performs type coercion: can be surprising
console.log(0 == false);     
// true
console.log("" == 0);       
 // true
console.log(null == undefined); 
// true
console.log("5" == 5);      
// true  (string coerced to number)
typeof, истинные и ложные значения, == и === — иллюстрация 5

Строгое равенство

Используйте === и !== для предсказуемых сравнений без приведения типов.

// === compares without coercion: safer and clearer
console.log(0 === false);    
// false
console.log("" === 0);       
// false
console.log("5" === 5);      
// false
console.log(5 === 5);        
// true
typeof, истинные и ложные значения, == и === — иллюстрация 6

Проверка строгого равенства

Быстрая проверка: безопасное сравнение.

typeof, истинные и ложные значения, == и === — иллюстрация 7

Повторение

Повторение: typeof определяет примитивы (помните об особенности null), Вы узнали распространённые ложные значения и увидели, почему === понятнее, чем ==.

typeof, истинные и ложные значения, == и === — иллюстрация 8

Часто задаваемые вопросы

Урок «typeof, истинные и ложные значения, == и ===» бесплатный?

Да — полный текст урока «typeof, истинные и ложные значения, == и ===» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс JavaScript Academy, подпишись на CoddyKit PRO. Курс JavaScript Academy содержит 3 уроков всего.

Чему я научусь в уроке «typeof, истинные и ложные значения, == и ===»?

Безопасно используйте typeof, распознавайте истинные и ложные значения и правильно сравнивайте значения с помощью ===. Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать JavaScript Academy?

Предыдущий опыт не требуется. JavaScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.

Сколько времени занимает урок «typeof, истинные и ложные значения, == и ===»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке JavaScript Academy?

Да. Каждый урок JavaScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Примитивы и объекты, основные типы
  2. typeof, истинные и ложные значения, == и ===
  3. Приведение типов: безопасные способы избежать неожиданностей
← Назад к JavaScript Academy