最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Javascript学习笔记之相等符号与严格相等符号

来源:动视网 责编:小采 时间:2020-11-27 21:29:12
文档

Javascript学习笔记之相等符号与严格相等符号

Javascript学习笔记之相等符号与严格相等符号:本章详细介绍了javascript中的相等符号以及严格相等符号,需要的朋友可以参考下。Javascript 有两种方法来判断两种值是否相等。相等符号相等符号由两个等号组成: ==Javascript 是弱类型语言。这就意味着相等符号为了比较两个值将会强制转换类型。"
推荐度:
导读Javascript学习笔记之相等符号与严格相等符号:本章详细介绍了javascript中的相等符号以及严格相等符号,需要的朋友可以参考下。Javascript 有两种方法来判断两种值是否相等。相等符号相等符号由两个等号组成: ==Javascript 是弱类型语言。这就意味着相等符号为了比较两个值将会强制转换类型。"


本章详细介绍了javascript中的相等符号以及严格相等符号,需要的朋友可以参考下。

Javascript 有两种方法来判断两种值是否相等。

相等符号

相等符号由两个等号组成: ==
Javascript 是弱类型语言。这就意味着相等符号为了比较两个值将会强制转换类型。

"" == "0" // false
0 == "" // true
0 == "0" // true
false == "false" // false
false == "0" // true
false == undefined // false
false == null // false
null == undefined // true
" \t\r\n" == 0 // true

上面的代码展示了类型转换的结果,因此我们知道使用相等符号 == 是个不好的编程习惯。由于 Javascript 中复杂的类型转换机制,将会使得由此产生的错误变得难以追踪。

此外,类型的强制转换会对性能也造成一定的影响,例如,当一个字符串与数字进行比较时,会被强制转换为数字。

严格相等符号

严格相等符号由三个等号组成: ===
它跟相等符号的操作相似,但是严格相等符号不会做强制类型转换的操作。

"" === "0" // false
0 === "" // false
0 === "0" // false
false === "false" // false
false === "0" // false
false === undefined // false
false === null // false
null === undefined // false
" \t\r\n" === 0 // false

上面的代码使得代码更加清晰,如果两个值的类型不同则直接返回 false,这也会使得性能得到提升。

比较对象

尽管 == 和 === 被称为相等符号,但是当比较的两个值中有一个类型是对象时,表现将大不相同。

{} === {}; // false
new String('foo') === 'foo'; // false
new Number(10) === 10; // false
var foo = {};
foo === foo; // true

在这儿,不再仅仅是比较两个值是否相等,它将判断两个值是否引用同一个对象实例,这个行为比较像 C 中的指针。

总结

这里强烈建议只使用严格相等符号 ===。如果我们需要做类型转换,可以在比较前先做显式的类型转换,而不是靠 Javascript 本身复杂的强制转换方法。

文档

Javascript学习笔记之相等符号与严格相等符号

Javascript学习笔记之相等符号与严格相等符号:本章详细介绍了javascript中的相等符号以及严格相等符号,需要的朋友可以参考下。Javascript 有两种方法来判断两种值是否相等。相等符号相等符号由两个等号组成: ==Javascript 是弱类型语言。这就意味着相等符号为了比较两个值将会强制转换类型。"
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top