这种做法叫做什么? `objectName && objectName.thing`
我试图找到在执行查找之前检查存在的对象的练习的名称(以任何语言)。通常,这是通过在JS在一个&&
投掷物体与对象查找表达式之间,像这样完成:这种做法叫做什么? `objectName && objectName.thing`
var example = objectName && objectName.thing;
使得example
被评估以任一undefined
或objectName.thing
,并避免运行时错误。
我可以发誓我以前听说过这个,但我已经完全忘记了。这种做法叫做什么?
由于左操作数的真实性看门狗有权访问右操作数,因此有时称之为“警卫”。当然,这只是一个合乎逻辑的AND,但在这个特定的环境中使用AND有时被称为“警卫”。
从道格拉斯Crockford的A Survey of the JavaScript Programming Language:
的
&&
操作通常被称为逻辑和。它也可以叫做后卫。
从Guard and Default Operators of JavaScript由肖恩·麦克阿瑟:
在JavaScript中,这样的语言决定了逻辑运算和如JavaScript对待使用AND和OR运算符true或false导致人们对后卫值和默认情况
啊!守卫。无法记住它为我的生活。谢谢! –
这种做法有时被称为验证或评估。您可以使用三元运算符来执行此操作。
var example = objectName ? objectName.thing : null
这将取决于objectExample
它通常被称为空校验分配
objectName.thing
或null
到example
。 ** objectName的简写形式? – RJMobjectName.thing:null ** – subash
@subash不完全相同,因为'objectName'也可以是'undefined'或任何其他值。 – Xufox