void(0)

Mar 14, 2021

void

드물게 보이는 void(0)은 뭘까 검색해보니

void 0 === undefined;

라고 한다.

재밌는건 void 0(6 bytes)이 undefined(9 bytes)보다 바이트를 덜 먹기 때문에 uglifyjs같은 minifier에서 undefinedvoid 0으로 바꾸는 경우가 있는 것 같다.

const func = () => undefined;
const func = () => void 0; // minified

화살표 함수에서 중괄호 없이 바로 반환할 때 함수의 결과값(아래에서는 func1()의 결과값 1)을 사용하지 않도록 선언할 때도 쓰일 수 있다.

const func1 = () => 1;
const func2 = () => func1();
console.log(func2()); // 1
const func3 = () => void func1();
console.log(func3()); // undefined

참고