【补课】void 0 与 undefined的区别?

背景

在check编译后的代码后,发现undefined被编译成了void 0, so why ?

void 0 与 undefined 区别

  1. undefined可以被重写,但是void不能;
  2. void 0比undefined占用更少的字节。

科普void

void的是一元运算符(单目运算符), 后面跟着的表达式会全部执行

The void operator evaluates the given expression and then returns undefined.

void 运算符能对给定的表达式进行求值,然后返回 undefined。如:

let num = 1;
let res =  void ++num;

输出num 2 ,而 res却是 undefined;

注: void 0 同 void(0)


单目运算符:运算所需变量为一个的运算符;在运算符中优先级最高,除了void以外,在js中还有自增(++)、自减(–)

另附运算符优先级

【补课】void 0 与 undefined的区别?

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...