在方括号和圆括号中包装三元条件的区别

Difference of wrapping ternary conditional in squared and round brackets

本文关键字:三元 条件 区别 方括号 圆括号 包装      更新时间:2023-09-26

在三元条件中使用方括号和圆括号有什么区别?例如:

平方:[ x == y ? 1 : 0 ]

round: ( x == y ? 1 : 0 )

我知道[ ]用于从关联数组中获取数组变量或键。然而,它们通常与与数组无关的东西一起使用。

举个例子,下面是我写的一小段插件:

(x.nodeType == 3 ? textContent : innerHTML)

同样只适用于方括号,而不是像上面那样的圆括号。这就好像第一个返回一些东西,第二个实际显示它。

圆角括号用于评估某个表达式(在这种情况下是三进制条件),而方括号用于创建数组,用于访问数组的位置(例如,如果您有var a = [1, 2, 3];a[0]为1,[1]为2等)或用于访问对象属性(如果您有var a = {name : "John", age : 25};a["age"]为25)

以以下为例:

var b = [x == y ? 1 : 0]

将b赋值给一个具有1或0的新数组

var b = (x == y ? 1 : 0)

将传递1或0(取决于x == y)

希望大家看清楚