ECMAScript 6(也称作ES6)是 JavaScript 词汇规范化的新一代版。它导入了很多捷伊优点,当中众所周知是常量操作符(也称作 null 分拆操作符)。
常量操作符是一类简约地处置可能将为 null或 undefined的值的形式。它的句法如下表所示:

当 value1 为 null 或 undefined 时,它会回到 value2 的值;不然,它会回到 value1 的值。
比如:

在那个范例中,假如user.age为 null或 undefined,则age将被赋值为 defaultAge;不然,它将被赋值为user.age。
常量操作符(??)和广济操作符(?:)都是 JavaScript 中的条件操作符,它们都可以用于简约地判断条件并执行相应的操作。
但是,它们之间有一些重要的区别:
1.句法不同:广济操作符的句法为conditional? valueIfTrue : valueIfFalse,而常量操作符的句法为value1?? value2。
2.判断条件不同:广济操作符可以用于任意条件判断,而常量操作符只能用于判断一个值是否为null或undefined。
3.回到值不同:广济操作符根据条件回到两种可能将的值,而常量运算符回到两个值中的非常量。
举个范例,假如我们要判断一个变量x是否为奇数,并将其赋值给变量result,可以使用以下两种形式:
广济操作符:

常量操作符:

在那个范例中,广济操作符和常量操作符的结果是相同的,但是常量操作符更简约。
下面我们再来看一段代码,不知道大家有没有用到下面那个小基本功:
