DEV Community

NikiMunger
NikiMunger

Posted on

可选链操作符 ?.、逻辑空赋值运算符 ??=、performance、void 操作符

可选链操作符 ?.

这个 ?. 的语法叫做 可选链操作符 (Optional Chaining)。
如果有值就取值,如果是 null 或 undefined 就立即停止并返回 undefined,而不会报错。


逻辑空赋值运算符 ??=

x ??= y 是 JavaScript 中的 逻辑空赋值运算符 (Logical Nullish Assignment)。
只有当 x 是 null 或 undefined 时,才把 y 赋值给 x。 如果 x 已经有值(哪怕是 0 或 false),则保持原样,什么都不做。

等价写法

// 写法 A:使用简写
x ??= y;

// 写法 B:原本的逻辑 (等价)
if (x === null || x === undefined) {
    x = y;
}
Enter fullscreen mode Exit fullscreen mode

performance

performance 是一个专门用于“精确测量时间”的对象。

它提供比 Date.now() 更高精度(微秒级)的计时能力。

主要用于动画、性能监控、测量时间差。


void 操作符

void 操作符的用途是对一个表达式进行求值,然后丢弃其返回值,最终返回 undefined。

例如

void expression; 
// 效果是:执行 expression,返回 undefined。
Enter fullscreen mode Exit fullscreen mode

Top comments (0)