Понимание переменных, типов данных и операторов JavaScript необходимо для того, чтобы стать опытным разработчиком. В отличие от таких языков, как Java и C++, JavaScript является языком программирования с динамической типизацией, что означает, что вы можете присвоить значение любого типа данных переменной, а тип данных этой переменной может динамически изменяться во время выполнения в зависимости от заданного значения. к нему позже в вашем коде. В этой статье будут рассмотрены основы переменных JavaScript, типов данных, операторов и некоторых распространенных ошибок, которых следует избегать.

Переменные JavaScript

Переменные относятся к контейнерам, которые содержат значения, которые можно изменить позже. В JavaScript вы можете объявить переменную, используя ключевые слова var, let или const. Ключевое слово var используется для выражения переменной с глобальной областью действия, тогда как let и const используются для объявления переменной с блочной областью действия.

Например:

var name = "John";
let age = 25;
const PI = 3.14;

Здесь были объявлены три переменные: name, age и PI, и им были присвоены разные значения. Ключевое слово var используется для объявления переменной name, а ключевое слово let объявляет переменную age. И наоборот, ключевое слово const используется для выражения переменной PI.

Типы данных JavaScript

JavaScript имеет семь примитивных типов данных: number, string, boolean, null, undefined, symbol и bigint, а также один непримитивный тип данных, называемый object. Пример ниже демонстрирует эти типы данных

let num = 25; // number
let name = 'John'; // string
let isTrue = true; // boolean
let nothing = null; // null
let unknown = undefined; // undefined
let symbol = Symbol('symbol'); // symbol
let bigInt = 9007199254740991n; // bigint
let obj = { name: ‘John’, age: 25 }; // object

Операторы JavaScript

В JavaScript также есть несколько операторов, используемых для выполнения операций над переменными и значениями. Эти операторы включают операторы arithmetic, assignment, comparison, logical и bitwise. См. пример ниже для иллюстрации:

let num1 = 5;
let num2 = 10;

// arithmetic operators
console.log(num1 + num2); // 15
console.log(num2 - num1); // 5
console.log(num1 * num2); // 50
console.log(num2 / num1); // 2

// assignment operators
let num3 = 15;
num3 += num1; // num3 = num3 + num1
console.log(num3); // 20

// comparison operators
console.log(num1 < num2); // true
console.log(num1 > num2); // false
console.log(num1 === num2); // false
console.log(num1 !== num2); // true

// logical operators
let isTrue1 = true;
let isTrue2 = false;
console.log(isTrue1 && isTrue2); // false
console.log(isTrue1 || isTrue2); // true

// bitwise operators
let num4 = 2; // 10 in binary
let num5 = 3; // 11 in binary
console.log(num4 & num5); // 2 (10 & 11)
console.log(num4 | num5); // 3 (10 | 11)

Общие ловушки

Основной ошибкой, которую следует избегать при работе с переменными JavaScript, является использование ключевого слова var для объявления переменных, которые должны иметь блочную область видимости. Эта проблема часто приводит к неожиданному поведению и ошибкам в коде. Чтобы избежать этой проблемы, используйте ключевое слово let или const для объявления переменных, которые должны иметь область действия блока.

Еще одна распространенная ошибка — непонимание разницы между операторами сравнения == и ===. Оператор == сравнивает значения двух операндов. Однако оператор === сравнивает значения и типы данных операндов. Неправильное использование оператора сравнения может привести к неожиданным результатам.

Понимание «приведения типов» в JS также имеет решающее значение. Этот процесс включает преобразование одного типа данных в другой. JavaScript делает это автоматически в определенных ситуациях, что может привести к неожиданным результатам, если вы этого не знаете. Например:

console.log(5 + "5"); // '55'
console.log("5" - 1); // 4
console.log(null == undefined); // true
console.log("" == false); // true

Чтобы избежать этих ловушек, необходимо тщательно прочитать и понять документацию и всесторонне протестировать свой код. Вы также можете использовать средства проверки типов и отлаживать или обнаруживать потенциальные ошибки до того, как они станут проблемой.

Заключение

Переменные — это контейнеры, содержащие значения, которые можно изменить позже. JS имеет семь примитивных типов данных и один непримитивный тип данных. Однако в нем есть много операторов, которые могут выполнять операции с переменными и значениями. Потенциальные ловушки, которых следует избегать в вашем коде JS, включают использование ключевого слова var для объявления переменных, которые должны иметь блочную область действия. Более того, непонимание разницы между операторами сравнения == и === и неосведомленность о приведении типов в JavaScript могут привести к проблемам с кодом. Вы можете стать опытным разработчиком JS, если поймете эти основы и будете регулярно практиковаться.