隐式转换的问题

隐式转换的问题

什么情况下定义隐式转换?隐式转换是怎么形成的?

正在回答

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

3回答

你好同学 ,首先你要明白什么是隐式转换 ? 对应隐式转换的有一个词是显式转换 . 显式转换就是我们自己去手动的使用js提供的方法 .例如如下:

str使用Number()方法进行整数转换  ,这样我们自己强制使用方法进行的转换 , 就是显式转换 ,这些使我们自己能看到的转换方式 .

http://img1.sycdn.imooc.com//climg/5c0e4d820001d26603310088.jpg

而隐式转换就是我们看不到的 , js自己去进行的转换 . 那么什么情况下会进行转换呢 . 例如如下:

逻辑与去判断两个操作数 , 如果这两个操作数返回的类型都是true , 那么就默认返回第二个操作数 .这个是逻辑与的规则 . 

http://img1.sycdn.imooc.com//climg/5c0e4e4900018b7a03590048.jpg

所以根据这个规则 , js在进行判断时 , 就会把"hello" 和 1转换为布尔类型 , 这个转换过程是我们看不到的 , js自己去进行的 , 这就是隐式转换 . 如下转换两个操作数的过程 ,这个是我们看不到的 . 

http://img1.sycdn.imooc.com//climg/5c0e4f290001cd5602610069.jpg

还有使用==比较 , 如果两个比较的类型不一样 , js也会尝试把它们转换为相同类型进行比较 .

http://img1.sycdn.imooc.com//climg/5c0e502f000124b903540090.jpg

所以一般隐式转换发生在比较或者判断上面 , 希望解答了你的疑惑 , 祝学习愉快 ,望采纳 .

好帮手慕糖 2018-12-10 10:13:13

同学你好,这里这个不是绝对的,&&也会发生隐式转换,比如,在进行判断的时候,可能会转化为布尔值。

希望能帮助到你,欢迎采纳。

祝学习愉快!

  • 提问者 qq_命运_szFJMV #1
    ....还是没能理解,意思是只要是数据类型的转换都是隐式转换吗? 比如把字符串转换为布尔值
    2018-12-10 18:37:18
好帮手慕糖 2018-12-09 16:20:25

同学你好,隐式转换不是定义的哦。不同类型的变量比较要先转类型,这个就叫隐式转换,隐式转换通常发生在运算符加减乘除,等于,还有小于,大于等。

希望能帮助到你,欢迎采纳。

祝学习愉快!

  • 提问者 qq_命运_szFJMV #1
    也就是说不出现运算符的情况下&&输出结果的过程中都没有经过隐式转换是吗?
    2018-12-09 16:28:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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