Отладка — это искусство, и очень важно, чтобы мы использовали правильные инструменты, чтение ошибок — это большое преимущество, которое дает четкую информацию о том, что пошло не так.

не определен

console.log(tax);
tax is not defined

Это ошибка ссылки, и всякий раз, когда мы используем переменную, она должна быть либо объявлена, либо определена в том же файле, либо импортирована из файла, в котором она объявлена ​​или определена и экспортирована.

const tax = 10 — Вариант 1

let tax — Вариант 2

import {tax} from 'somefile' — Вариант 3

Невозможно прочитать свойства неопределенного (чтение «чего-то»)

let user;
console.log(user.name)

Значение пользователя не определено, мы пытаемся получить доступ к свойствам неопределенной переменной, мы получаем это.

Мы можем либо использовать ?, либо нам нужно определить переменную как объект

console.log(user?.name) — Вариант 1

let user={} — Вариант 2

let user={name:'Vinodh'} — Вариант 3

Невозможно прочитать свойства null (чтение «что-то»)

let user = null;
console.log(user.name)

Значение пользователя равно null, мы пытаемся получить доступ к свойствам нулевой переменной, мы получаем это.

мы можем использовать ту же опцию, что и не можем читать свойства undefined

это не функция

const city = 10;
console.log(city.toUpperCase()) // city.toUpperCase is not a function

Город — это число, но мы обращаемся к нему строковым методом.

Когда мы используем машинописный текст, эта ошибка будет отображаться во время компиляции, но с javascript она будет отображаться во время выполнения во время выполнения.

Это относится к любому типу (число, массив, строка, объект), когда обращаются к методам другого типа, мы получаем эту ошибку.

console.log(city?.toUpperCase()) — добавление ? НЕ исправит это.

city.toUpperCase?.() — Вариант 1

const city ='Erode’ — Вариант 2

city.toUpperCase ? city.toUpperCase() : ‘’ — Вариант 3

typeof city ===’string’ ? city.toUpperCase() : ‘’— Вариант 4