0Pricing
JavaScript Academy · Урок

Неявное приведение типов в операциях

Предсказывайте, как + и операции сравнения приводят типы.

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

Неявное приведение типов

Неявное приведение типов происходит, когда оператор преобразует операнды к типу, необходимому для операции. Разные операторы запускают разные преобразования.

console.log("5" + 1)
console.log("5" - 1)

Сложение со строками

Оператор сложения особенный: если хотя бы один операнд является строкой, он выполняет объединение строк вместо числового сложения.

console.log("3" + 4)
console.log(3 + "4")
console.log("a" + 1 + 2)

Сложение чисел

Когда оба операнда являются числами, оператор сложения складывает их. Порядок операций важен, если строки появляются позже в цепочке.

console.log(1 + 2 + "3")
console.log("1" + 2 + 3)

Вычитание принудительно использует числа

У оператора вычитания нет строкового смысла, поэтому он всегда преобразует оба операнда в числа, даже строки, похожие на числа.

console.log("10" - "4")
console.log("10" - 4)

Умножение и деление

Как и оператор вычитания, операторы умножения и деления приводят операнды к числам. Нечисловые строки дают результат NaN.

console.log("6" * "2")
console.log("abc" * 2)

Унарный плюс

Унарный плюс перед значением приводит его к числу — это компактный приём преобразования.

console.log(+"42")
console.log(+"3.14")
console.log(+true)

Приведение типов при сравнении

Операторы сравнения, например оператор «меньше», приводят операнды к числам, если только оба не являются строками; в этом случае они сравниваются в алфавитном порядке.

console.log("10" > 5)
console.log("apple" < "banana")

Смешанные сравнения

Когда одна сторона является строкой, а другая — числом, строка преобразуется в число для сравнения.

console.log("20" > 3)
console.log("3" > 20)

Логические значения в арифметике

В арифметике логические значения превращаются в 1 или 0, поэтому добавление истины к числу увеличивает его на единицу.

console.log(true + true)
console.log(5 + false)

Массивы при приведении типов

При использовании со сложением массивы преобразуются в строки. Пустой массив становится пустой строкой, а массив из одного элемента — текстовым представлением этого элемента.

console.log([] + [])
console.log([1, 2] + [3])

Как избежать неожиданностей

Чтобы предотвратить случайное объединение строк или появление NaN, явно преобразуйте значение в число или строку перед операцией. Явно выраженное намерение лучше, чем зависимость от неявного приведения.

const a = "5"
const b = "3"
console.log(Number(a) + Number(b))

Быстрая проверка

Проверьте свои знания о приведении типов.

Повторение

Повторение: Операторы запускают разные виды приведения типов.

  • Сложение объединяет строки, если хотя бы один операнд является строкой
  • Вычитание, умножение и деление принудительно используют числа
  • При сравнении выполняется приведение к числам, если только оба операнда не являются строками
  • Чтобы избежать неожиданностей, преобразуйте значения явно
console.log("5" + 1)
console.log("5" - 1)

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

Урок «Неявное приведение типов в операциях» бесплатный?

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

Чему я научусь в уроке «Неявное приведение типов в операциях»?

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

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

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

Сколько времени занимает урок «Неявное приведение типов в операциях»?

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

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

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

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

  1. Истинные и ложные значения
  2. Нестрогое и строгое равенство
  3. Неявное приведение типов в операциях
  4. Приёмы явного преобразования
← Назад к JavaScript Academy