Прежде чем мы перейдем к основной теме, давайте изучим основы null и undefined.

Null. Проще говоря, null означает «ничего». В JavaScript тип данных null является объектом. Null — это то, что намеренно отсутствует и рассматривается как ложное для логической операции. Посмотрите на этот пример ниже.

var foo = null;
typeOf(foo); // "object"

Не определено: если вы объявили переменную, но забыли присвоить ей значение. Тогда значение будет неопределенным, потому что значение не было определено. Итак, свойство Undefined указывает, определено значение переменной или нет. Тип данных undefined также не определен. Посмотрите на этот пример ниже.

var foo;
typeOf(foo); // "undefined"

Посмотрите внимательнее на эти определения. Null означает, что значение переменной ничто. С другой стороны, undefined означает, что значение переменной не определено. Итак, ясно, что нулевое значение и неопределенное значение не равны.

Есть еще одно существенное различие между null и undefined, которое заключается в типе данных. Тип данных null является объектом, тогда как undefined также не определен.

Двойное равно (==) и тройное равно (===)

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

Что будет проверять JavaScript с помощью двойного или тройного равенства?

  1. JavaScript проверит, равно ли значение.
  2. В некоторых условиях он будет проверять, равны ли типы данных или нет.

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

Двойное равно (==)

Он проверит только одну вещь: равны ли значения или нет. Если значения не равны, то он попытается принудительно изменить тип данных. Потом снова проверит. Попробуем понять это на некоторых примерах.

Пример 1. Проверка значения

const foo = "test";
const bar = "test";
// Check the value only
console.log(foo == bar); //true

Пример 2. Проверьте, совпадают ли значения и различаются ли они по типу.

const number = 1234;
const stringNumber = '1234'; 
// Convert the data type and then check again
console.log(number == stringNumber) //true

Пример 3. Проверьте, совпадают ли значения и различаются ли они по типу.

// Convert the data type and then check again
console.log(0 == false) //true

Пример 4. Проверьте, совпадают ли значения и различаются ли они по типу.

const str = ""
// Convert the data type and then check again
console.log(str == false) //true

Тройное равно (===)

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

Пример 1. Проверка значения и типов данных

const foo = "test";
const bar = "test";
// Check the value and data types
console.log(foo === bar); //true

Пример 2. Никогда не преобразовывать типы данных

const number = 1234;
const stringNumber = '1234';
// It will never convert the data types
console.log(number === stringNumber) //false

Пример 3. Никогда не преобразовывать типы данных

// It will never convert the data types
console.log(0 === false) //false

Пример 4. Никогда не преобразовывать типы данных

const str = ""
// It will never convert the data types
console.log(str === false) //false

Окей! Теперь мы понимаем, что такое двойное и тройное равенство. Пришло время проверить разницу между этими двумя методами JavaScript. Давайте посмотрим…

  • Двойное равенство (==) сравнивает только значения. С другой стороны, тройное равенство (===) сравнивает значения и типы данных.
  • Двойное равенство (==) может при необходимости изменить типы данных, в то время как тройное равенство (===) никогда этого не делает.
  • Двойное равенство (==) проверяет на неполное равенство, тогда как тройное равно (===) проверяет на строгое равенство.

Окно

Существует имя переменной JavaScript «окно». Это объект. Он представляет собой окно, содержащее документ DOM. Свойство документа указывает на документ DOM, загруженный в это окно. Все браузеры поддерживают объект окна.

Функция стрелки

В версии JavaScript ES6 появилась классная функция. Он имеет простой и лаконичный синтаксис для создания функции в JavaScript. Чтобы понять различия, нам может понадобиться увидеть примеры между нормальной функцией и функцией стрелки. Давайте сначала посмотрим на эти примеры.

// Normal Function
function sumNormal(a, b) {
  console.log(a + b);
}
sumNormal(5, 3); // 8
// Arrow Function
const sumArrow = (a, b) => {
  console.log(a + b);
}
sumArrow(7, 3); // 10
// Or it's much more powerful 💖
const sum = (a, b) => console.log(a + b)
sum(9, 4); // 13

Ну, мы видели примеры. Давайте попробуем понять функцию стрелки.

Чтобы объявить стрелочную функцию, вы можете использовать «let» или «const», за которыми следует имя функции, за которым следует знак равенства, за которым следуют имена параметров, за которыми следует знак стрелки (=>), и остальная часть тела функции. Вы можете использовать ключевое слово «var», но это не рекомендуется.

Дополнительно: если у вас не более одного параметра, вы можете пропустить скобки. Но лично я этого не рекомендую. Это смешает ваш код с другими переменными, и ваш код может быть труднее читать. Давайте посмотрим на пример ниже.

const greetings = name => console.log("Congratulations " + name + "!")
greetings("Asif"); // Congratulations Asif

Переворачивание строки

Сегодня мы узнаем, как перевернуть строку с помощью JavaScript. Итак, давайте начнем.
Прежде чем писать основной код, мы должны иметь общее представление о некоторых методах, таких как split(), reverse() и join(). Итак, давайте немного поговорим о них.

Метод String split()

Метод String split() используется для разделения каждого из алфавитов внутри строки, включая пробелы, числа, специальные символы и т. д. Давайте внимательно рассмотрим его.

const newString = "A letter";
// Let's separate the string
const separateString = newString.split("");
console.log(separateString); // ["A", " ", "l", "e", "t", "t", "e", "r"]

Метод реверса() массива

В предыдущем примере мы преобразовали строку в разделенный массив. Теперь мы собираемся перевернуть этот массив. Для этого нам нужно использовать метод массива reverse(). Давайте посмотрим, как это сделать.

// Let's reverse the array
const reverseArray = separateString.reverse();
console.log(reverseArray); // ["r", "e", "t", "t", "e", "l", " ", "A"]

Ну, по крайней мере, мы успешно переворачиваем строку. Теперь это массив. Это больше не похоже на строку. Мы должны объединить массив, и тогда он будет выглядеть как идеальная строка. Для этого мы должны использовать функцию массива join(). Давайте поговорим об этом.

Метод объединения массивов()

Так же, как и метод разделения строк(), метод объединения массивов() объединяет или объединяет каждую часть массива в строку. Давайте посмотрим на пример ниже.

// Let's join the array and make it a string!
const reverseString = reverseArray.join("");
console.log(reverseString); // rettel A

Бонус: мы можем описать этот длительный процесс в одной строке. Как! Давайте посмотрим…

const newString = "A letter";
// Reverse string shorthand
const reverseString = newString.split("").reverse().join("");
console.log(reverseString); // rettel A