Несколько полезных трюков с JavaScript
Несколько прикольных и полезных трюков c JavaScript, которые могут в какой-то момент пригодиться
Трюк 1
Тип переменной: примитивный или нет?
В JavaScript существуют примитивные и непримитивные типы данных. К примитивным относятся: boolean (булев тип), NULL, undefined (неопредленный тип), number (число), string (строка), BigInt, Symbol (в ECMAScript 6) - всего их 7. К непримитивным типам относятся объекты (Objects).
Порой нам необходимо определить, какой тип данных хранится в данной переменной - примитивный или нет?
Например, есть переменная var
:
var val; // перменная может содержать данные любого типа: примитивного или непримитивного
А вот и маленькое изящное решение этого вопроса:
function isPrimitive(val) {
return Object(val) !== val;
}
Мы создаем обертку для значения.
В случае, если данные примитивного типа, конструктор объектов создаст новую обертку для значения.
Если данные непримитивного типа (объект), конструктор объектов вернет нам тот же самый объект.
Далее, использую строгое соответствие (!==
или ===
) мы узнаем тип данных переменной - примитивный или нет.
Трюк 2
Создание пустого объекта
Перед тем как создать чистый объект, давайте разберемся: “Что такое пустой объект?”
Пустой объект в JavaScript - объект прототип которого не содержит никаких функций.
Создается он следующим образом:
var obj = {};
Но при проверке obj.__proto__
мы увидим, что данный объект уже содержит много функций:
Как же создать объект, который не будет содержать никаких функций, вообще?
Решение: с помощью метода create
конструктора объектов:
var obj = Object.create(null);
Трюк 3
Удаляем дублирующие значения из массива
Итак, у нас есть массив:
var arr = [1, 2, 3, 3, 4, 5, 6, 6, 7, 7, 7, 7];
Множество повторяющихся элементов можно удалить с помощью Set
Set - объект, который содержит только уникальные значения и не может содержать дубли.
Создадим следующий код:
const newArr = [...new Set(arr)];
Мы получили из исходного массива новый, содержащий только уникальные значения.
Спасибо за внимание.
Создано на основе перевода оригинальной статьи “Some cool and awesome JavaScript tricks”