Сегодня я расскажу о 10 каверзных вопросах JavaScript. JavaScript уже много лет является наиболее используемым языком программирования, но людям трудно его понять.

Давайте играть -

В JavaScript есть несколько истинных и ложных значений.

1. Ложные ценности —

В JavaScript шесть вещей ложны, и они:

i) false
ii) null
iii) undefined
iv) ‘’
v) 0
vi) NaN

2. Истинные ценности —

Есть только две истинные вещи, истинные и все, что не является ложью.

Вот диаграмма и программная проверка истинных и ложных значений:

Теперь я расскажу о null и undefined. Иногда младший JavaScript путается с null и undefined. Давайте поговорим о том, в чем разница между undefined и null. undefined — это тип, а null — объект.

3. не определено—

Фактическое значение undefined состоит в том, чтобы сказать, что переменная объявлена, но ей не присвоено значение. Или просто переменная была объявлена, но не определена. Наконец, при поиске несуществующих свойств в объекте вы получите undefined.

Пример: не определено

var d = {};console.log(d.fake);
// undefined

4. ноль —

Разработчик может присвоить его переменной. Здесь null в JavaScript — это значение присваивания.

5. Тройное равно ‘===’ означает

Если мы используем тройное равенство === в JavaScript, мы просто проверяем строгое равенство. Это означает, что и значение, и тип, которые мы сравниваем, должны быть одинаковыми.

Пример:

5 === 5
// true
'hello world' === 'hello world'
// true (Both Strings, equal values)true === true
// true (Both Booleans, equal values)

Другой пример:

50 === '50'
// false (Number vs String)

Это неверно, потому что мы сравниваем число 50 с строковым значением 50. То же значение, но другой тип.

6. Двойное равно ‘==’

Если мы используем double equals == в JavaScript, мы просто тестируем приведение типов. Приведение типов означает, что два значения сравниваются только после попытки преобразовать их в общий тип.

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

Из предыдущего примера:

50 == '50'
// true(Number vs String)

Здесь показано, что это правда.

7. Что такое NaN?

В основном NaN означает не число. NaN ничему не эквивалентен.

Пример:

NaN == null
// falseNaN == undefined
// falseNaN == NaN
// false

8. Что такое подъем?

Подъем — это механизм JavaScript, в котором объявления переменных и функций перемещаются в верхнюю часть своей области видимости перед выполнением кода. Помните, что JavaScript поднимает только объявления, а не инициализацию.

Давайте рассмотрим простой пример подъема переменных:

console.log(abid); //output : undefined
var abid= 'The variable has been hoisted';

карта, фильтр, поиск, умный способ запуска цикла —

9. карта —

По сути, карта возвращает массив одинаковой длины. Map работает с массивом и возвращает массив. Внутри карты есть три параметра, которые мы можем передать: первый — это элемент, второй — индекс, а третий — массив.

Пример:

Давайте посмотрим на цикл for: Здесь умножьте числа.

let numbers = [4, 5, 6, 7, 8];
const output = [];
for (let i = 0; i < numbers.length; i++) {
    const element = numbers[i];
    const result = element * element;
    output.push(result);
}
console.log("The output is: ", output);
//The output is: [ 16, 25, 36, 49, 64 ]

Теперь о системе карт:

let numbers = [4, 5, 6, 7, 8];
const output = numbers.map(function(element){
    const multiply = element * element;
    return multiply;
})
console.log ("The output is: ", output);
//The output is: [ 16, 25, 36, 49, 64 ]

Теперь компактная версия карты со стрелочной функцией:

let numbers = [4, 5, 6, 7, 8];
const output = numbers.map(x => x * x);
console.log ("The output is: ", output);
//The output is: [ 16, 25, 36, 49, 64 ]

10. фильтр —

Фильтр работает с массивом, возвращая массив для отфильтрованных элементов. По сути, он возвращает массив, когда выполняется условие для функции.

Пример:

let numbers = [4, 5, 6, 7, 8];
const output = numbers.filter(x => x > 5);
console.log ("The output is: ", output);
//The output is:  [ 6, 7, 8 ]

Код показывает большее число, которое больше 5.

11. найти —

Find работает с массивом и возвращает первый элемент, удовлетворяющий условию в функции. Это возвращает элементы из массива.

Пример:

let numbers = [4, 5, 6, 7, 8];
const output = numbers.find(x => x > 5);
console.log ("The output is: ", output);
//The output is:  6

Это все на сегодня. Я вернусь с другой темой.

Спасибо.