gpt4 book ai didi

javascript - 如果存在则使用值,否则使用 or 运算符分配默认值

转载 作者:数据小太阳 更新时间:2023-10-29 04:30:05 25 4
gpt4 key购买 nike

我在一本书中找到了这个例子:

// Create _callbacks object, unless it already exists
var calls = this._callbacks || (this._callbacks = {});

我简化了它,这样我就不必使用特殊的对象范围了:

var a = b || (b = "Hello!");

当 b 被定义时,它就起作用了。当 b 未定义时,它不起作用并抛出 ReferenceError。

ReferenceError: b is not defined

我做错了什么吗?谢谢!

最佳答案

当执行像 this._callback 这样的属性查找时,如果 this._callback_callbacks 属性不存在,你将得到 undefined 。但是,如果您只是查找像 b 这样的裸名,如果 b 不存在,您将得到一个引用错误。

此处的一个选项是使用带有 typeof 运算符的三元运算符,如果操作数是 undefined variable ,它将返回 "undefined"。例如:

var a = typeof b !== "undefined" ? b : (b = "Hello!");

关于javascript - 如果存在则使用值,否则使用 or 运算符分配默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19865925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com