保护 JavaScript 值:Elvis 和安全导航运算符
在 JavaScript 中,确保变量不为 null 或未定义对于防止错误至关重要。 Elvis 运算符和安全导航运算符是可以帮助完成此任务的两种技术。
Elvis 运算符:条件快捷方式
与 Java 的三元运算符类似,Elvis 运算符如果左侧表达式解析为 false、null 或 undefined,则 (?:) 分配默认值。例如:
const displayName = user.name ?: "Anonymous";
如果 user.name 存在且不为空,displayName 将收到其值。否则,它将默认为“匿名”。
安全导航运算符:避免 NullPointerExceptions
安全导航运算符 (?.) 在访问可能为 null 的属性时可防止 NullPointerExceptions对象。它不抛出异常,而是简单地返回 null。例如:
const streetName = user?.address?.street;
如果 user 或 user.address 为 null,则 streetName 将保持为 null。这可以防止访问不存在对象的属性时出现错误。
JavaScript 中的替代方案
目前,JavaScript 缺少 Elvis 运算符。相反,您可以使用逻辑 OR 运算符 (||) 进行条件赋值:
const displayName = user.name || "Anonymous";
但是,安全导航运算符没有直接等效项。对于类似的功能,请考虑使用 CoffeeScript,它提供了一个存在运算符:
const zip = lottery.drawWinner?().address?.zipcode;
CoffeeScript 还提供其他语法增强功能,如多行注释、函数快捷方式和“性感”函数调用。这些功能可以提高 JavaScript 代码的可读性和表现力。
以上是Elvis 和安全导航运算符如何保护 JavaScript 值?的详细内容。更多信息请关注PHP中文网其他相关文章!