厦门市城市建设档案馆的网站,哪做网站最好,外贸网站建设信息,windows和wordpress在 JavaScript 中#xff0c;理解真实和虚假的值是编写高效简洁代码的基础。结合短路的概念#xff0c;开发人员可以编写优雅的解决方案来应对常见的编程挑战。
在本实践指南中#xff0c;我们将探讨真实值和虚假值#xff0c;并了解 JavaScript 中短路的机制。
您可以从…在 JavaScript 中理解真实和虚假的值是编写高效简洁代码的基础。结合短路的概念开发人员可以编写优雅的解决方案来应对常见的编程挑战。
在本实践指南中我们将探讨真实值和虚假值并了解 JavaScript 中短路的机制。
您可以从这里获取所有源代码。
本文内容参考java567.com
目录
了解真实和虚假的价值观什么是 JavaScript 中的短路实际使用案例结论
了解真实和虚假的价值观
在 JavaScript 中在布尔上下文中计算时每个值都具有固有的布尔解释。计算结果为 的值被认为是真实的而评估结果为 的值是虚假的。truefalse
让我们来看看一些例子
// Truthy Values
if (Hello) {console.log(Truthy!); // Output: Truthy!
}if (42) {console.log(Truthy!); // Output: Truthy!
}if ([apple, banana]) {console.log(Truthy!); // Output: Truthy!
}// Falsy Values
if () {console.log(Falsy!); // This code block is not executed
}if (0) {console.log(Falsy!); // This code block is not executed
}if (null) {console.log(Falsy!); // This code block is not executed
}以下是上述代码的细分
真实价值观
HelloJavaScript 中的任何非空字符串都被认为是真实的。在这种情况下字符串为非空因此条件的计算结果为 true。Hello42任何非零数正数或负数都被认为是真实的。由于是非零数因此条件的计算结果为 true。42[apple, banana]JavaScript 中的数组被认为是真实的无论其内容如何。由于数组为非空因此条件的计算结果为 true。[apple, banana]
虚假的价值观
空字符串JavaScript 中的空字符串被认为是虚假的。因此条件的计算结果为 false并且不会执行 if 语句中的代码块。
0数字零在 JavaScript 中被认为是假的。因此条件的计算结果为 false并且不会执行 if 语句中的代码块。
nullnull 值在 JavaScript 中被认为是虚假的。因此条件的计算结果为 false并且不会执行 if 语句中的代码块。
在 JavaScript 中除 、 、 空字符串、 和 之外的值被认为是真实的。在 JavaScript 中编写条件语句和逻辑运算时理解这些真值和假值至关重要。false0nullundefinedNaN
理解真值和假值至关重要因为它们在条件语句和逻辑运算中起着重要作用。
什么是 JavaScript 中的短路
短路是逻辑运算符 表现出的一种行为如果结果可以通过单独计算第一个操作数来确定则跳过对第二个操作数的计算。||
让我们通过实际示例来检查短路的工作原理
运算符
运算符返回第一个假操作数如果所有操作数都为真则返回最后一个真实操作数。
const value 0;
const result value Truthy Value;
console.log(result); // Output: 0在此示例中计算结果为 这是一个虚假值。由于第一个操作数是假的因此表达式短路结果是 。value00
const value Hello;
const result value Truthy Value;
console.log(result); // Output: Truthy Value在这里计算结果为一个非空字符串这是真实的。因此返回第二个操作数因为它是最后一个真实操作数。valueTruthy Value
运算符||
运算符返回第一个真实操作数如果所有操作数都是假操作数则返回最后一个假操作数。||
const name ;
const displayName name || Guest;
console.log(displayName); // Output: Guest在此示例中计算结果为空字符串该字符串是假的。因此表达式短路并分配给 。nameGuestdisplayName
const name Alice;
const displayName name || Guest;
console.log(displayName); // Output: Alice在这里计算结果为一个非空字符串这是真实的。因此将返回第一个操作数因为它是遇到的第一个真实操作数。nameAlice
实际使用案例
提供默认值
短路通常用于为变量提供默认值。
const options {};
const limit options.limit || 10;
console.log(limit); // Output: 10 (default value)在此示例中是一个空对象。该代码打算根据属性为其分配一个值。但是由于未定义未定义因此使用逻辑 OR 运算符。optionslimitoptions.limitoptions.limit||
逻辑 OR 运算符返回第一个操作数的值如果为真。如果第一个操作数是假的在本例中为 undefined则返回第二个操作数在本例中为 的值该值充当默认值。options.limit10
因此将被分配值因为是假的未定义。limit10options.limit
安全访问嵌套属性
短路还可用于安全地访问对象的嵌套属性。
const user { address: { city: New York } };
const city user.address user.address.city;
console.log(city); // Output: New York在此示例中是一个对象其中包含另一个对象该对象包含该属性。useraddresscity
该表达式正在利用短路。它检查是否存在如果存在则进一步检查是否存在。user.address user.address.cityuser.addressuser.address.city
如果是真实的如果存在JavaScript 会继续计算 。如果是虚假的如果它是未定义或 null则 JavaScript 会使计算短路并且不会继续计算。user.addressuser.address.cityuser.addressuser.address.city
这样可以防止未定义或为 null 的潜在。TypeErroruser.address
由于在这种情况下存在因此表达式的计算结果为 即 。user.addressuser.address.cityNew York
此技术可确保安全访问嵌套属性并有助于避免在对象未按预期完全填充或结构化的情况下出现运行时错误。
结论
短路可以大大增强您的开发工作流程。
您可以在项目中练习这些概念以熟练有效地利用 JavaScript 的短路行为。
本文内容参考java567.com