猿问

[]? 1: 0的结果为1

如图

慕田峪4524236
浏览 784回答 1
1回答

白猪掌柜的

第一个是这样的:当进行相等判断,如果有一边是布尔值,另一边不是,则布尔值变为数值,true变为1,而一边是对象,一边不是对象,则调用对象的valueOf()方法转换为基本类型再进行比较,如果valueOf()...总之,得让类型一致才能比,所以第一个肯定是返回false,因为[]不可能转换为1或者'1'第二个是这样的:[]还是一个object(长度为0的数组),但是任何Object在需要转换为布尔值时都是转换为true的,除非你这么写null?1:0,这样是返回0的综上所述,第一个里面,是转化为字符串在比较,一个是空字符串,一个是字符串“1”,所以不等,第二个是将object转化为true的布尔值
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答