From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../javascript/reference/operators/void/index.html | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 files/uk/web/javascript/reference/operators/void/index.html (limited to 'files/uk/web/javascript/reference/operators/void/index.html') diff --git a/files/uk/web/javascript/reference/operators/void/index.html b/files/uk/web/javascript/reference/operators/void/index.html new file mode 100644 index 0000000000..d280657ad3 --- /dev/null +++ b/files/uk/web/javascript/reference/operators/void/index.html @@ -0,0 +1,123 @@ +--- +title: Оператор void +slug: Web/JavaScript/Reference/Operators/void +tags: + - JavaScript + - Оператор +translation_of: Web/JavaScript/Reference/Operators/void +--- +
{{jsSidebar("Operators")}}
+ +

Оператор void обчислює наданий вираз та повертає {{jsxref("undefined")}}.

+ +
{{EmbedInteractiveExample("pages/js/expressions-voidoperator.html")}}
+ + + +

Синтаксис

+ +
void вираз
+ +

Опис

+ +

Цей оператор дозволяє обчислення виразів, які повертають значення, у місцях, де очікується вираз, що обчислюється як {{jsxref("undefined")}}.

+ +

Оператор void часто використовують лише для того, щоб отримати просту величину undefined, зазвичай, використанням "void(0)" (що є еквівалентним "void 0"). У таких випадках можна замість цього скористатись глобальною змінною {{jsxref("undefined")}} (за умови, що їй не було присвоєне нове значення).

+ +

Зауважте, що необхідно враховувати пріоритет оператора void, і що круглі дужки можуть допомогти прояснити обчислення виразу, розташованого після оператора void:

+ +
void 2 == '2';   // (void 2) == '2', вертає false
+void (2 == '2'); // void (2 == '2'), вертає undefined
+
+ +

Негайно виконувані функціональні вирази

+ +

При використанні {{Glossary("IIFE", "негайно виконуваного фукнціонального виразу")}} void може використовуватись, щоб змусити ключове слово function сприйматись як вираз, а не як оголошення.

+ +
void function iife() {
+    var bar = function () {};
+    var baz = function () {};
+    var foo = function () {
+        bar();
+        baz();
+     };
+    var biz = function () {};
+
+    foo();
+    biz();
+}();
+
+ +

URI у JavaScript

+ +

Коли переглядач переходить по javascript: URI, він обчислює код у URI, після чого замінює вміст сторінки поверненим значенням, якщо тільки повернене значення не є {{jsxref("undefined")}}. Оператор void можна використати, щоб повернути undefined. Наприклад:

+ +
<a href="javascript:void(0);">
+  Натисніть сюди, щоб не робити нічого
+</a>
+
+<a href="javascript:void(document.body.style.backgroundColor='green');">
+  Натисніть сюди, щоб зробити фон зеленим
+</a>
+
+ +
+

Заувага: використання псевдопротоколу javascript: не заохочується на користь інших альтернатив, таких як ненав'язливі обробники подій.

+
+ +

Стрілкові функції без витоків

+ +

Стрілкові функції запроваджують скорочений бездужковий синтаксис, який повертає вираз. Це може спричинити ненавмисні побічні ефекти, повертаючи результат функціонального виклику, який раніше не повертав нічого. Щоб убезпечитись у випадках, коли результат функції не передбачається використовувати, його можна передати у оператор void, щоб гарантувати, що (наприклад) зміна API не спричинить зміну поведінки стрілкових функцій.

+ +
button.onclick = () => void doSomething();
+ +

Це гарантує, що повернене значення doSomething, змінюючись з undefined на true, не змінить поведінку цього коду.

+ +

Специфікації

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецифікаціяСтатусКоментар
{{SpecName('ESDraft', '#sec-void-operator', 'The void Operator')}}{{Spec2('ESDraft')}}
{{SpecName('ES6', '#sec-void-operator', 'The void Operator')}}{{Spec2('ES6')}}
{{SpecName('ES5.1', '#sec-11.4.2', 'The void Operator')}}{{Spec2('ES5.1')}}
{{SpecName('ES3', '#sec-11.4.2', 'The void Operator')}}{{Spec2('ES3')}}
{{SpecName('ES1', '#sec-11.4.2', 'The void Operator')}}{{Spec2('ES1')}}Початкове визначення. Реалізоване у JavaScript 1.1
+ +

Сумісність з веб-переглядачами

+ + + +

{{Compat("javascript.operators.void")}}

+ +

Див. також

+ + -- cgit v1.2.3-54-g00ecf