0Pricing
JavaScript Academy · Урок

Приведение типов: безопасные способы избежать неожиданностей

Разберитесь в неявном и явном приведении типов; предпочитайте понятное преобразование через Number, String и Boolean; безопасно обрабатывайте NaN.

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

Введение

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

  • Неявное и явное преобразование
  • Number, String и Boolean
  • Безопасная работа с NaN
Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 1

Демонстрация неявного приведения типов

+ со строкой запускает конкатенацию; - и * пытаются выполнить числовое преобразование.

// Implicit coercion can surprise beginners
console.log("5" + 1);     
// "51"  (string concatenation)
console.log(5 + "1");    
// "51"  (number -> string)
console.log("5" - 1);     
// 4     (string -> number)
console.log("5" * 2);     
// 10    (string -> number)
Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 2

Явные преобразования

Используйте Number(x), String(x) и Boolean(x) для ясности.

// Prefer explicit, readable casts
const n = Number("42");      
// 42
const s = String(42);         
// "42"
const t = Boolean("hi");      
// true (non-empty string)
const f = Boolean("");        
// false (empty string)

console.log(n, s, t, f);
Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 3

Number и parseInt

Number(x) требует полностью числовую строку; parseInt разбирает только начальные цифры.

// Number vs parseInt with examples
console.log(Number("42"));          
// 42 (full string must be numeric)
console.log(parseInt("42", 10));    
// 42
console.log(parseInt("42px", 10));  
// 42 (stops at non-digit)
console.log(Number("42px"));        
// NaN (not a pure number)
Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 4

Проверки NaN

Используйте Number.isNaN, чтобы проверить NaN без дополнительного приведения типов.

// NaN is "Not a Number" and is not equal to itself
const bad = Number("oops");   
// NaN
console.log(bad === NaN);     
// false
console.log(Number.isNaN(bad)); 
// true (use this)
console.log(isNaN("5"));      
// false (string coerces to number 5)
Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 5

Контрольный список безопасности

Безопасные шаблоны:

  • Предпочитайте === и явные преобразования.
  • Используйте Number(x) для числовых строк; избегайте хитрых приёмов.
  • Проверяйте входные данные; после разбора проверяйте Number.isNaN.
Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 6

Проверка явного преобразования

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

Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 7

Повторение

Повторение: Неявное приведение типов может привести к неожиданностям. Предпочитайте явные преобразования с помощью Number, String и Boolean, а при необходимости используйте Number.isNaN для проверки.

Приведение типов: безопасные способы избежать неожиданностей — иллюстрация 8

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

Урок «Приведение типов: безопасные способы избежать неожиданностей» бесплатный?

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

Чему я научусь в уроке «Приведение типов: безопасные способы избежать неожиданностей»?

Разберитесь в неявном и явном приведении типов; предпочитайте понятное преобразование через Number, String и Boolean; безопасно обрабатывайте NaN. Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

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

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

Сколько времени занимает урок «Приведение типов: безопасные способы избежать неожиданностей»?

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

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

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

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

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