首页 > web前端 > js教程 > 真相和虚假的价值:

真相和虚假的价值:

William Shakespeare
发布: 2025-02-09 09:33:10
原创
529 人浏览过

JavaScript的平等比较由于其松散的键入而可能很棘手。本文探讨了双(==)和三重(===)的细微差别等于操作员,以及真实和虚假的价值观的概念。

Truthy and Falsy Values: When All is Not Equal in JavaScript 理解这些概念会导致更清洁,更可预测的代码。

>

Truthy and Falsy Values: When All is Not Equal in JavaScript

钥匙要点:

JavaScript的动态键入允许灵活的值分配,但可能会导致意外的比较结果。 松散的平等(==)执行类型的胁迫,通常会导致令人惊讶的结果。严格的平等(===)直接比较值和类型,从而进行了更可靠的比较。

>
    >每个JavaScript值是真实的,要么是虚假的。虚假的值是
  • false0-00n"">。所有其他值都是真实的,包括nullundefined>,NaN和functions。 与真实/虚假的价值观的宽松平等比较可能是不可预测的。例如,'0'是正确的,但是'false'是false,[]是正确的!严格的平等避免了这些歧义。{}> 为了避免错误,请避免直接真实/虚假的比较。使用严格的平等(
  • ),并在必要时明确转换为布尔值(
  • false == 0 == '')。这确保了可预测的行为。[] == true [] == false
  • > JavaScript的打字系统:=== Boolean()javascript变量是松散地键入的:!!>
  • 在比较之前,将值转换为字符串:

严格的平等(===)考虑类型:>

JavaScript的原始类型是:,,
let x;
x = 1;   // x is a number
x = '1'; // x is a string
x = [1]; // x is an array
登录后复制

// all true
1 == '1';
1 == [1];
'1' == [1];
登录后复制

>。 其他一切都是一个对象(包括数组)。
// all false
1 === '1';
1 === [1];
'1' === [1];
登录后复制
>

undefined null boolean number真实与虚假的价值:bigint> string每个值都有一个布尔等效:symbol

Truthy and Falsy Values: When All is Not Equal in JavaScript falsy:

  • false0>真相:其他所有内容。 -0 0n>示例:"" null undefinedNaN(已弃用)也是虚假的。
  • >

    Truthy and Falsy Values: When All is Not Equal in JavaScript

    宽松平等(==)比较:

    >

    宽松的平等导致意外的结果,以真实/虚假的价值:

    Truthy and Falsy Values: When All is Not Equal in JavaScript

    严格的平等(===)比较:> 严格的平等提供了更清晰的结果:

    请注意,

    始终是

    NaN === NaN> false

    建议:

    >

    避免直接比较:
  1. 使用而不是!xx == false使用严格的平等(
  2. ):
  3. 提供了更可预测的结果。 ===>转换为布尔值:
  4. 使用
  5. 进行显式布尔转换。 Boolean(x) !!x
  6. 结论:

了解真实/虚假的价值并使用严格的平等可提高代码可靠性。 避免进行宽松比较的陷阱,以防止调试头痛。

FAQS(缩写为简洁):

真实/虚假的概念:

值在布尔上下文中被视为true/false。
    >
  • > javascript的处理:类型的胁迫将值转换为布尔。
  • >示例:请参见上面的列表。
  • >
  • >检查真相/虚假:在布尔上下文或
  • 函数中使用。
  • vsBoolean():松散与严格的平等;
  • 避免使用类型的胁迫。
  • =====>评估表达式:在逻辑和(===)和(
  • )中的短路。
  • )。 &&||
  • 0""nullundefinedNaN>转换为布尔值:-0>使用
  • >。 逻辑操作中的 虚假的值:Boolean()影响操作结果。
  • >
  • 特殊案例:vs
  • ,空数组/对象是真实的。
  • >

以上是真相和虚假的价值:的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板