Ключевое слово void в ECMAScript

1- Ключевое слово void

void является довольно важным ключевым словом в ECMAScript, оно имеет следующие характеристики:
  • void играет роль оператора, предшествующий единственный операнд (single operand) с любым видом.
  • void используется для оценки выражения, он не возвращает никакое значение, или можно сказать он возвращает значение undefined (Неопределенное).
Оператор  void предшаествует любое выражение для получения значения  undefined.
void-expression-example.js
void console.log("Test1");  // Test1

console.log( void ("Test2") ); // undefined

console.log( void (2 == "2") );  // undefined

console.log( void (2) == "2" ); // false

console.log( void (2) == undefined); // true

2- Void и JavaScript URIs

<a href ="javascript:URI">..</a> обычно встречаются в  HTML, браузеры оценивают URI и получают значение, которое возвращает  URI для заменения содержания на настоящей странице.
href-javascript-example.html
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>Href Javascript</title>
      <script>
         function getHtmlContentToShow()  {
           console.log("Do something here...");
           alert("Do something here..");
           // Return new HTML content to replace current Page.
           return "<h1 style='color:red;'>Other HTML Content!</h1>";
         }
      </script>

   </head>
   <body>

        <h1>Href:javascript example</h1>

        <a href="javascript:getHtmlContentToShow()">Click me!</a>

   </body>
</html>
 
Если  URI возвращает  undefined, браузер не заменяет содержание настоящей страницы.
href-javascript-void-example.html
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>Href Javascript Void</title>
      <script>
         function getHtmlContentToShow()  {
           console.log("Do something here...");
           alert("Do something here..");
           // Return new HTML content to replace current Page.
           return "<h1 style='color:red;'>Other HTML Content!</h1>";
         }
      </script>

   </head>
   <body>

        <h1>Href:javascript void example</h1>

        <a href="javascript:void getHtmlContentToShow()">Click me!</a>

   </body>
</html>

 

3- Функция одноразового использования

Обычно вам нужно определить функцию, потом вызвать ее.
function-example.js
// Defind a function
function sayHello()  {
  console.log("Hello Everyone");
}

// Call function
sayHello();
В следующем примере показано, как создать функцию только для одноразового использования. Она называется немедленной. Вы не сможете использовать эту функцию где-либо еще в программе, потому что она не существует после использования.
used-once-function-example.js
// Defind a function, and call it.
(function sayHello()  {
  console.log("Hello Everyone");
}) ();

try  {
  // This function does not exist.
  sayHello();
}
catch(e)  {
  console.log(e); // ReferenceError: sayHello is not defined
}

 
Вы также можете создать функцию для использования только один раз с ключевым словом void. Она вызывается немедленно и больше не существует после вызова.
void-function-example.js
// Defind a function, and call it.
void function sayHello()  {
  console.log("Hello Everyone");
}();

try  {
  // This function does not exist.
  sayHello();
}
catch(e)  {
  console.log(e); // ReferenceError: sayHello is not defined
}