From d78c67819e8988fa10211c727e788323def9fe23 Mon Sep 17 00:00:00 2001 From: A1lo Date: Wed, 24 Nov 2021 00:30:27 +0800 Subject: fix: update URI in ` nullish_coalescing_operator` (#3155) Using links which reference to localized page. replace the wrong URI to `Logical OR` operator with correct one. --- .../reference/operators/nullish_coalescing_operator/index.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/files/zh-cn/web/javascript/reference/operators/nullish_coalescing_operator/index.html b/files/zh-cn/web/javascript/reference/operators/nullish_coalescing_operator/index.html index 83a74c1c6e..2dff76dbbd 100644 --- a/files/zh-cn/web/javascript/reference/operators/nullish_coalescing_operator/index.html +++ b/files/zh-cn/web/javascript/reference/operators/nullish_coalescing_operator/index.html @@ -14,7 +14,7 @@ translation_of: Web/JavaScript/Reference/Operators/Nullish_coalescing_operator

空值合并操作符??)是一个逻辑操作符,当左侧的操作数为 {{jsxref("null")}} 或者 {{jsxref("undefined")}} 时,返回其右侧操作数,否则返回左侧操作数。

-

逻辑或操作符(||不同,逻辑或操作符会在左侧操作数为{{Glossary("Falsy", "假值")}}时返回右侧操作数。也就是说,如果使用 || 来为某些变量设置默认值,可能会遇到意料之外的行为。比如为假值(例如,'' 或 0)时。见下面的例子。

+

逻辑或操作符(||不同,逻辑或操作符会在左侧操作数为{{Glossary("Falsy", "假值")}}时返回右侧操作数。也就是说,如果使用 || 来为某些变量设置默认值,可能会遇到意料之外的行为。比如为假值(例如,'' 或 0)时。见下面的例子。

{{EmbedInteractiveExample("pages/js/expressions-nullishcoalescingoperator.html")}}
@@ -46,7 +46,7 @@ console.log(valC); // 42

为变量赋默认值

-

以前,如果想为一个变量赋默认值,通常的做法是使用逻辑或操作符(||):

+

以前,如果想为一个变量赋默认值,通常的做法是使用逻辑或操作符(||):

let foo;
 
@@ -94,7 +94,7 @@ console.log( B() ?? C() );
 
 

不能与 AND 或 OR 操作符共用

-

将 ?? 直接与 AND(&&)和 OR(||)操作符组合使用是不可取的。(译者注:应当是因为空值合并操作符和其他逻辑操作符之间的运算优先级/运算顺序是未定义的)这种情况下会抛出 SyntaxError

+

将 ?? 直接与 AND(&&)和 OR(||)操作符组合使用是不可取的。(译者注:应当是因为空值合并操作符和其他逻辑操作符之间的运算优先级/运算顺序是未定义的)这种情况下会抛出 SyntaxError

null || undefined ?? "foo"; // 抛出 SyntaxError
 true || undefined ?? "foo"; // 抛出 SyntaxError
@@ -106,7 +106,7 @@ true || undefined ?? "foo"; // 抛出 SyntaxError

与可选链式操作符(?.)的关系

-

空值合并操作符针对 undefined 与 null 这两个值,可选链式操作符(?. 也是如此。在这访问属性可能为 undefined 与 null 的对象时,可选链式操作符非常有用。

+

空值合并操作符针对 undefined 与 null 这两个值,可选链式操作符(?. 也是如此。在这访问属性可能为 undefined 与 null 的对象时,可选链式操作符非常有用。

let foo = { someFooProp: "hi" };
 
@@ -143,7 +143,7 @@ console.log(foo.someBarProp?.toUpperCase()); // undefined
 
 
 
-- 
cgit v1.2.3-54-g00ecf