我正在阅读公司的javaScript cods,我发现了以下内容:
seriesCode = pageRecord.getProperty('seriesCode')!'XXX'
这是否意味着如果第一个值为NULL
,那么第二个值应该放在seriesCode中?
答案 0 :(得分:2)
这是否意味着,如果第一个值为
NULL
,则第二个值应放在seriesCode
中?
不,它只是错误并且无法被javascript理解。 !
是一元运算符,因此如果您尝试将其用作二元运算符(在两个值之间),它可能会以奇怪的方式失败。
使用||
运算符完成了您的要求:
seriesCode = pageRecord.getProperty('seriesCode')||'XXX';
您可能会看到!
一元运算符的技巧,但它是双重感叹号:
existsSeriesCode = !!pageRecord.getProperty('seriesCode');
这里的想法是,使用第一个感叹号,您将对象转换为布尔值,其中false
表示此变量是对实例的引用,true
表示变量包含null
或undefined
。然后第二个感叹号会再次否定它,这意味着true
包含一个实例,false
包含undefined
或null
。
答案 1 :(得分:0)
看起来像FreeMarker模板语言,是的,!
运算符,当出现在操作数的右侧时,如果左侧表达式为null
或对缺失的引用,则给出默认值变量