이 번역은 완료되지 않았습니다. 이 문서를 번역해 주세요.

void 연산자는 주어진 식을 실행하고 undefined를 반환합니다.

구문

void expression

설명

void는 값을 생산하는 식을 평가해서 undefined를 반환합니다.

종종, void연산자는 "void(0)"("0을 무효로 설정한다"에 해당)을 사용해서, 단순히 undefined(정의되어있지 않은) 원시값을 얻기 위해 사용됩니다. 이러한 경우에는, 글로벌 변수 undefined를 (기본값이 정의되어 있지 않다는 가정하에) 대신 사용할 수 있습니다. 

IIFE

When using an immediately-invoked function expressionvoid can be used to force the function keyword to be treated as an expression instead of a declaration.

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

    foo();
    biz();
}();

JavaScript URI

javascript: 로 시작되는 URI를 지원하는 브라우저에서는 URI에 있는 코드의 실행결과가 undefined 반환하지 않는다면, 페이지의 표시 내용을 반환된 값으로 대체하도록 되어있습니다. void연산자는 undefined} 반환해서, 페이지의 표시 내용이 코드의 반환값으로 대체되지 않도록 해 줍니다. 

<a href="javascript:void(0);">
  클릭해도 아무일도 일어나지 않아요
</a>
<a href="javascript:void(document.body.style.backgroundColor='green');">
  클릭하면 배경색이 녹색으로
</a>

참고) 그러나, javascript: 와 같은 프로토콜은 어디 까지나 이벤트 핸들러의 대안이므로, 적극적으로 사용하지는 않는 것이 좋겠습니다.

Non-leaking Arrow Functions

Arrow functions introduce a short-hand braceless syntax that returns an expression. This can cause unintended side effects by returning the result of a function call that previously returned nothing. To be safe, when the return value of a function is not intended to be used, it can be passed to the void operator to ensure that (for example) changing APIs do not cause arrow functions' behaviors to change.

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

This ensures the return value of doSomething changing from undefined to true will not change the behavior of this code.

명세

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
The definition of 'The void Operator' in that specification.
Draft  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'The void Operator' in that specification.
Standard  
ECMAScript 5.1 (ECMA-262)
The definition of 'The void Operator' in that specification.
Standard  
ECMAScript 3rd Edition (ECMA-262)
The definition of 'The void Operator' in that specification.
Standard  
ECMAScript 1st Edition (ECMA-262)
The definition of 'The void Operator' in that specification.
Standard Initial definition. Implemented in JavaScript 1.1

 

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

같이 보기

 

문서 태그 및 공헌자

이 페이지의 공헌자: urty5656, teoli, siriz
최종 변경자: urty5656,