老师请问为什么 true == “hello”结果是flase

老师请问为什么 true == “hello”结果是flase

请问老师 true == “hello”在进行比较时是如何进行类型转换的(在进行比较时 “hello”不会被自动转换成布尔类型的值吗?)

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,当布尔类型的值与字符串类型的值进行==比较时,会将布尔类型的值自动转换为数值类型,然后再进行比较,即 1 == "hello",数值1与字符串hello不等,所以 true == "hello" 结果为false。

祝学习愉快!

  • 蟹黄包12138 提问者 #1
    请问老师,为什么true == "true" 输出的结果也是false?
    2022-01-10 16:44:52
  • 好帮手慕然然 回复 提问者 蟹黄包12138 #2

    同学你好,非常很抱歉,刚才老师记混了,纠正一下:

    如果有一个操作数是布尔值的话,那么在比较相等性之前会先将其转换为数值类型。

    对于true == "hello" 和 true == "true"这两个表达式,都有一个操作数为布尔值true,因此会先将其转换为数值类型,true转换为数值类型为1。

    所以,true == "hello" 和 true == "true" 等价于 1== "hello" 和 1== "true",因此结果都为false。

    祝学习愉快!

    2022-01-10 17:35:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师