📜  在 JavaScript 中将非布尔值强制解释为布尔值

📅  最后修改于: 2022-05-13 01:56:13.505000             🧑  作者: Mango

在 JavaScript 中将非布尔值强制解释为布尔值

众所周知,javascript 是一种宽容的语言。它不介意程序员犯的愚蠢错误。因此,有时它会产生意想不到的结果。所以它感觉 Javascript 说“我可以做所有的可能性”。

强制是 javascript 给出奇怪结果的一种,因为 javascript 会自动执行类型转换,其中第一个值被转换为其他数据类型(字符串、数字、对象等),然后给出结果。任何原始类型(字符串、布尔值、数字、空值、未定义、符号)或非原始类型(对象、数组、reg exp)强制都是有效的。

让我们了解如何 强制是否适用于不同的 数据类型 操作。

例子:

Javascript


Javascript


Javascript


Javascript


输出:

说明:这里对于第一个语句,第一个操作数 [] 是一个对象,另一个是一个字符串,因此两者都被强制组合为一个字符串,并且如果这里也都强制为一个字符串,则在内部语句中应用相同的逻辑。第二个 if 语句 true 首先强制为 1,然后 if 块执行最后一个示例 {} + {},这里两个对象都连接为一个对象。

布尔值:值为“真”和“假”的逻辑实体。

布尔转换有两种方式:

  1. !!:首先它它将值转换或强制转换为与给定值相反的布尔值,然后使用 double (!!) 它给出布尔值。
  2. Boolean():简单地将值强制转换为所需的布尔值。

示例

Javascript


输出:

true
true
false
true

强制有两种:

  1. 隐式类型强制: Javascript 本身会自动转换为另一种数据类型,以根据开发人员的需要提供输出。
  2. 显式类型强制:开发人员或程序员显式给出类型或说类型转换。

例子:

Javascript


输出:

number
boolean
number
number

虚假值:转换为布尔值的值总是给出真实的结果。

javascript中有六个假值:

  1. 错误的
  2. 不明确的
  3. 空值
  4. NaN(不是数字)
  5. 0
  6. “”(空字符串)

例子:

Javascript


输出:

false
false
false
false
true
false

转换布尔值时强制在 javascript 中哪里不起作用

运算符(===) 称为严格相等运算符。 (===)强制不起作用,(==)为此它起作用。它检查数据类型和内容。如果数据类型不相等,则返回 false。所以“1” === 1 现在评估为 false 。它根据触发隐式类型强制的类型给出结果。

注意:以上所有示例都可以通过在 HTML 的 script 标签中输入或使用控制台进行测试。