JavaScript - void Keyword: A Beginner's Guide

Здравствуйте, будущие маги JavaScript! Сегодня мы отправимся в увлекательное путешествие в мир ключевого слова void. Не волнуйтесь, если вы еще ни разу не писали строку кода — я буду вашим дружелюбным гидом, и мы рассмотрим эту тему шаг за шагом. Так что возьмите свою виртуальную палочку (то есть клавиатуру), и давайте окунемся в это!

JavaScript - void Keyword

Что такое ключевой оператор void?

Прежде чем мы углубимся в детали, давайте поймем, что такое void. В JavaScript void — это оператор, который evaluates выражение и затем возвращает undefined. Теперь вы можете подумать: "Зачем мне это нужно?" Ну, мои любопытные друзья, у него есть свои цели, и мы вот-вот их откроем!

Синтаксис

Синтаксис ключевого слова void довольно прост:

void expression

Здесь expression может быть любымvalid выражением JavaScript. Оператор void будет оценивать это выражение, но всегда возвращать undefined.

Давайте рассмотрим простой пример:

console.log(void 0); // Вывод: undefined
console.log(void(0)); // Вывод: undefined
console.log(void "Hello"); // Вывод: undefined
console.log(void (2 + 3)); // Вывод: undefined

Как видите, независимо от того, какое выражение мы ставим после void, оно всегда возвращает undefined. Это как маг, который может превратить все в кролика — за исключением того, что наш маг все превращает в undefined!

Важность приоритета ключевого слова void

Теперь давайте поговорим о чем-то более продвинутом — приоритете ключевого слова void. В JavaScript у операторов есть разные уровни приоритета, которые определяют порядок их оценки.

Оператор void имеет очень высокий приоритет. Это означает, что он будет оценен до большинства других операторов. Давайте посмотрим пример:

let x = 1;
console.log(void x === undefined); // Вывод: true
console.log(void (x = 5)); // Вывод: undefined
console.log(x); // Вывод: 5

В этом примере void x === undefined оценивается как (void x) === undefined, а не как void (x === undefined). Оператор void сначала применяется к x, возвращая undefined, который затем сравнивается с undefined.

Во втором предложении, хотя мы присваиваем 5 x, оператор void все равно возвращает undefined. Однако присвоение все же происходит, что мы видим в третьей строке.

Что такое javascript:void(0)?

Вы можете столкнуться с javascript:void(0) в HTML, особенно в атрибутах href тегов锚. Давайте развенчаем это!

<a href="javascript:void(0);" onclick="console.log('Clicked!')">Нажми меня</a>

В этом примере javascript:void(0) используется для предотвращения_EDEFAULT действия ссылки (которое было бы переходом на новую страницу). Событие onclick все равно сработает, но ссылка не выполнит никаких других действий.

Это как сказать вашей собаке "стоять" перед тем, как кинуть мяч — собака видит действие, но не двигается!

Ключевое слово void с функциями

Ключевое слово void также можно использовать с функциями. Давайте рассмотрим пример:

function greet() {
console.log("Hello, world!");
}

console.log(greet()); // Вывод: Hello, world! undefined
console.log(void greet()); // Вывод: Hello, world! undefined

В обоих случаях "Hello, world!" выводится в консоль. Однако greet()implicitly возвращает undefined (так как функции в JavaScript возвращают undefined по умолчанию, если не указано return), в то время как void greet() explicitly возвращает undefined.

Ключевое слово void с немедленно вызываемыми функциональными выражениями (IIFE)

Last but not least, давайте рассмотрим, как void можно использовать с немедленно вызываемыми функциональными выражениями (IIFE). IIFE — это функция, которая выполняется сразу после своего определения.

void function() {
console.log("I'm an IIFE!");
}();

// Вывод: I'm an IIFE!

В этом случае void используется для того, чтобы обеспечить лечение функционального выражения как выражения, а не как декларации. Это как надеть маскарадный костюм перед тем, как тайно проникнуть на вечеринку — функция выполняется, но не остается afterwards!

Обзор методов использования ключевого слова void

Вот удобная таблица, резюмирующая различные ways, в которых мы можем использовать ключевые слова void:

Method Example Description
Основное использование void 0 Возвращает undefined
С выражениями void (2 + 3) Оценивает выражение, возвращает undefined
В HTML <a href="javascript:void(0);"> Prevents default link action
С функциями void greet() Вызывает функцию, возвращает undefined
С IIFE void function() {}(); Выполняет IIFE, возвращает undefined

И вот мы и добрались до конца, друзья! Мы отправились в путешествие по стране void, от его базового синтаксиса до его более продвинутых применений. Помните, как и любое другое средство в программировании, void имеет свои конкретные цели. Он может не быть тем, что вы используете каждый день, но понимание его зробит вас более разносторонним разработчиком JavaScript.

Продолжайте практиковаться, оставайтесь любопытными, и скоро вы будете колдовать JavaScript заклинания как профессионал! До свидания, счастливого кодирования!

Credits: Image by storyset