ReferenceError: math is not defined — что это означает
medium

ReferenceError: math is not defined — что это означает

Противная и неочевидная ошибка, которую очень легко исправить.

Представьте такое: вы делаете онлайн-калькулятор на JavaScript и хотите реализовать, например, функцию возведения в степень. Вы идёте в Яндекс, вбиваете в поиск «возведение в степень javascript». По первой строке в результатах всё понятно: нам нужна функция math.pow() из стандартной математической библиотеки math. Пишем код:

// возводим число Х в степень У и отправляем в переменную result result = math.pow(x,y);

Этот код при запуске вываливается с ошибкой:

❌ ReferenceError: math is not defined

Это означает: «Я не знаю, что такое math, поэтому не буду это выполнять». При этом вы точно уверены, что всё в порядке, потому что все остальные сайты дают именно такую же команду.

Но всё проще, чем вы думаете.

Что делать с ошибкой ReferenceError: math is not defined

Дело в том, что в JavaScript все имена встроенных объектов пишутся с большой буквы. Math — тоже встроенный объект, поэтому его тоже нужно писать с большой буквы. Чтобы исправить нашу ошибку, этого будет достаточно:

// возводим число Х в степень У и отправляем в переменную result result = Math.pow(x,y);

Теперь ошибки нет, и мы можем продолжать делать свой онлайн-калькулятор.

Объясните подробнее

JavaScript — регистрозависимый язык. Это значит, что он различает строчные и прописные буквы в названиях переменных, командах и функциях. Например, hello, Hello и HELLO — три разные переменные с точки зрения JavaScript.

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

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
$ is not defined в jQuery: что это значит и что делать
$ is not defined в jQuery: что это значит и что делать
medium
Андрюха, у нас логика! Возможно, криминал
Андрюха, у нас логика! Возможно, криминал

Логическая задача о преступности.

easy
5 полезных функций Excel для начинающих программистов
5 полезных функций Excel для начинающих программистов

Необязательно писать код только на языках программирования — Excel тоже подходит.

easy
Что означает ошибка FileNotFoundError: [Errno 2] No such file or directory
Что означает ошибка FileNotFoundError: [Errno 2] No such file or directory

Когда скрипт не может найти нужный файл

easy
Что общего у игральных кубиков и нормального распределения
Что общего у игральных кубиков и нормального распределения

Чем больше кубиков — тем идеальнее график

medium
Приёмы эффективного кода на Python
Приёмы эффективного кода на Python

Изучи и применяй

easy
Улучшаем арканоид
Улучшаем арканоид

Добавляем очки, жизни и нарастание сложности.

medium
Создаём IPFS-хранилище у себя на компьютере
Создаём IPFS-хранилище у себя на компьютере

И запускаем межпланетный сайт у себя дома

easy
Универсальная аналитическая машина
Универсальная аналитическая машина

Она может предсказать что угодно, если правильно её настроить.

medium
medium