JavaScript - 安全赋值运算符
JavaScript 安全赋值运算符 (?=) 是 JavaScript 建议新增的一项功能,旨在简化代码错误处理。该运算符可帮助开发人员更轻松地处理错误,而无需使用复杂的 try/catch 代码块。
它用符号 (?=) 表示。它目前正在开发中,尚未成为 ECMAScript 官方规范的一部分。
语法
使用安全赋值运算符的语法如下。
variable ?= value;
示例
以下是使用安全赋值运算符的简单示例,有助于更好地理解它:
使用安全赋值运算符
此示例演示了如何使用该运算符仅在变量当前为 null 或未定义时赋值。
// 将初始变量设置为 null let username = null; // 使用安全赋值运算符 // 赋值默认值 username ?= "Guest"; // 弹出结果 alert(username); // 这将弹出"Guest"
输出
变量 username 被设置为 null。username ?= "Guest"; 这行检查它是否为 null 或 undefined,并将其设置为 "Guest"。最后,alert(username); 显示用户名现在为 "Guest"。
Guest
赋值计算值
此示例演示了如何使用运算符仅在变量当前为 null 或未定义时赋值计算值。
// 执行简单计算的函数
function compute(value) {
return value * 2; // 简单计算:将输入值翻倍
}
// 初始变量设置为 null
let result = null;
// 使用安全赋值运算符赋值计算值
result ?= calculate(5); // 如果 result 为 null,则赋值为 10
// 弹出结果提示
alert(result); // 这将弹出"10"的 alert
输出
calculate 函数接受一个数字并返回其双精度值。变量 result 被设置为 null。result ?= calculate(5); 这行代码检查 result 是否为"null",如果为 null,则调用 calculate(5),返回 10 并将其赋值给 result。最后,alert(result); 显示 result 现在为 10。
10
此运算符受现代浏览器(Chrome 91+、Firefox 89+、Edge 91+、Safari 15+)和 Node.js(14.17.0+)支持

