首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型转换是否有优先顺序?

问类型转换是否有优先顺序?
EN

Stack Overflow用户
提问于 2014-01-28 03:51:29
回答 1查看 80关注 0票数 1

知道javascript在需要时自动转换类型,例如"8“* "3”= 24;但是在比较两种不同类型的js时,它们首先转换的类型是什么。

让我给你举个例子。

​

​

在这里,当字符串" true“与布尔值true进行比较时,其中之一必须转换为其他类型。什么是这里的首选,“真”字符串将转换为布尔真返回一个布尔对象,或布尔真转换为“真”字符串。

在上面的文章中,我猜真字符串被转换成布尔值真,这就是使语句变为false的对象,那么为什么在类型转换中不是相反的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-28 04:02:06

见11.9.3抽象平等比较算法。

基本上可以归结为:==是它自己的神奇;如果有的话,它支持ToNumber转换。此转换是相等运算符计算的结果。

代码语言:javascript
复制
"true" == true
"true" == 1      // by rule #7   - ToNumber(true)
0 == 1           // by rule #5   - ToNumber("true")
false            // by rule #1c

在这种情况下,ToBoolean操作根本不使用,尽管它在其他情况下很重要--例如逻辑布尔运算符或条件表达式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21396473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档