美文网首页js
js 运算时数据类型转化, == 和 ===

js 运算时数据类型转化, == 和 ===

作者: 书虫和泰迪熊 | 来源:发表于2020-07-13 18:30 被阅读0次

只有加法运算会把运算子转换成字符串,其他运算都自动转化成数值
大小比较时会先转化成数字类型再进行比较
一元运算符也会把运算子转成数值

'a' + 1   // 'a1'
'a' - 1    // NaN
true +5 //6
false + 5 //5
1>2>3   // false
3>2>1   // true
+'1'+1   // 2
+'s'+2   // NaN
's' + null  //'snull'
's' + undefined // 'sundefined'
1 + true + undefined + 's' // 1+1+NaN+'s'=2+NaN+'s'=NaN+'s'=NaNs

运算符 == 和 === 比较
==是抽象相等运算符,而===是严格相等运算符。==运算符是在进行必要的类型转换后,再比较。===运算符不会进行类型转换,所以如果两个值不是相同的类型,会直接返回false。
使用==时,可能发生一些特别的事情,例如:

1 == '1'; // true
1 == [1]; // true
1 == true; // true
0 == ''; // true
0 == '0'; // true
0 == false; // true
new Number(2) == 2  //true
new Number(2) === 2 // false   左边是Number类型本质是对象Object,右边是number 类型是基本类型

[] == ![] // true
{} == !{} // false
https://blog.csdn.net/magic_xiang/article/details/83686224

相关文章

  • js 运算时数据类型转化, == 和 ===

    只有加法运算会把运算子转换成字符串,其他运算都自动转化成数值大小比较时会先转化成数字类型再进行比较一元运算符也会把...

  • 原生js

    原生JS学习笔记1——基本数据类型和运算符 js的背景知识介绍,js的引入方式,js的变量及运算符 原生JS学习笔...

  • JS深入浅出

    数据类型 表达式和运算符 语句 js对象 属性

  • js运算符

    js基础语法:运算符,判断语句,数据类型,js对象 一、运算符 赋值运算符 =算数运算符 +-*/% ++...

  • JavaScript基础整理(一)

    数据类型null 和 undefined== 和 ===JS 比较对象和基本类型!! 运算符JavaScript ...

  • 关于if(xx)和 a==b的判断

    a==b 做相等运算时,一般倾向于将不同的数据类型都转化为数值,或是转化为相同的数据类型. 如果两个值类型相同,则...

  • JavaScript基础总结

    ✍目录总览:(JS概念与组成、JS格式规范、JS基本语法【输入、输出、变量、数据类型、数据类型转换、运算符、流程控...

  • 前端(js)

    js基本语法 字面量和变量 标识符 数据类型 一元运算符

  • JavaScript的显式转换和隐式转换

    js的显式转换和隐式转换都是数据类型的转换;js的数据类型是弱类型的,即可以给变量赋值为任意的数据类型,当进行运算...

  • JavaScript 01 (JS引入/变量/数据类型/类型转换

    JS的引入及调试,常量,字面量,变量,JS中的数据类型,JS的运算符,JS的运算符之隐式类型转换,强制类型转换,M...

网友评论

    本文标题:js 运算时数据类型转化, == 和 ===

    本文链接:https://www.haomeiwen.com/subject/yvdzcktx.html