banner
Tenifs

Tenifs

雄关漫道真如铁,而今迈步从头越。
github
follow
zhihu
email

空值合并运算符

在 TypeScript(以及 JavaScript)中,?? 是一种称为空值合并运算符(Nullish Coalescing Operator)的语法。它用于在左操作数为 nullundefined 时返回右操作数,否则返回左操作数。这对于处理可能为 null undefined 的值非常有用,尤其是在为变量设置默认值时。

语法:

let result = value1 ?? value2;

示例:

let name: string | null = null;
let defaultName = "Default Name";

let displayName = name ?? defaultName;

console.log(displayName); // 输出 "Default Name"

在这个例子中,由于 namenull,所以 displayName 将被赋值为 defaultName 的值,即 "Default Name"。

||的区别:

与逻辑或运算符(||)不同,空值合并运算符只在左操作数为 nullundefined 时才返回右操作数,而逻辑或运算符会在左操作数为假值(例如 nullundefinedfalse0NaN"")时返回右操作数。

let value1 = 0;
let value2 = value1 || 10;
let value3 = value1 ?? 10;

console.log(value2); // 输出 10,因为 0 被视为假值
console.log(value3); // 输出 0,因为 0 不是 null 或 undefined

在这个例子中,value2 被赋值为 10,因为 value1 是假值,而 value3 被赋值为 0,因为 value1 不是 nullundefined

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。