首页 > 试题广场 >

以下结语句中,返回true的是?

[单选题]
以下结语句中,返回true的是?
  • !![]
  • 1===’1’
  • null===undefined
  • !!’’
推荐
A。JavaScript有五个基本类型:number、string、null和undefined。其中null和undefined以外,其他三个具有所谓的包装对象,可以通过内置构造函数Number()、String()、Boolean()创建包装对象。
  • 选项A,javascript中[]转化为布尔值为true,即Boolean([])返回true,加上两个非符号返回仍为true。
  • 选项B,===表示等同符,当两边值类型相同时直接比较值,若类型不同返回false。int类型和char类型不同所以返回false。
  • 选项C,null表示空值,undefined未定义,直接返回false
  • 选项D,Boolean('')返回false,加上两个非符号,最终结果为false。
编辑于 2019-12-18 14:10:37 回复(3)
A
空对象转换为布尔类型为true。
数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 ""空字符串
Number 任何非0数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined
A选项,由于数组属于对象类型,所以空的数组转换成布尔型是true,前置!!,两次取反,返回true。A正确。
B选项,“===”同等于(包含数据类型),左右两端数据类型不同,因此返回false。
C选项,同上,由于左右两端数据类型不同,返回false。
D选项,字符的编码值为0的字符,因此返回false。


发表于 2019-12-17 18:25:42 回复(1)
  我们需要知道在JavaScript中的一些比较特别的类型转换,最好能记住:
!!String("")   // 返回true
!!Boolean("")  // 返回false
!!Number("")   // 返回true

!!Boolean([])   // 返回true
!!String([])    // 返回false
!!Number([])    //false

!!String(0)   // 返回true  #被转为字符串"0"
!!Number(0)      // 返回false
!!Boolean(0)   // 返回false

[] 转为字符串是 ""       // String([]) 返回""
[] 转为数字是 0            // Number([]) 返回0
[] 转为布尔值是 true        // Boolean([]) 返回true
true 转为数字是 1       // Number(true) 返回1
false 转为数字是 0      // Number(false) 返回0

相等运算符(== ),两个操作数类型不同时,我们要进行转换。

发表于 2020-01-03 22:12:29 回复(9)
首先要区分JS的基本数据类型,Number数值型,字符串型,布尔型,Null和我Undefined 引用数据类型有Object,Array数组,function等 JS创建一个空的引用数据类型对象时,会默认调用Boolean构造方法将其转为true的。而JS创建一个空的基本数据类型变量时,其值是false的
发表于 2021-03-08 01:51:36 回复(1)
选A,“=” 赋值, “==”等于(值相等), “===”同等于(包含数据类型)
发表于 2019-12-17 17:31:23 回复(1)
空数组为true,空字符串为假
发表于 2021-06-22 09:58:46 回复(0)

Boolean([]) true

Boolean(“”) false

发表于 2020-04-04 11:20:57 回复(0)
...
发表于 2021-12-21 08:30:09 回复(0)
谷歌测试
true
闭包 作用域.html:10 false
闭包 作用域.html:11 true
闭包 作用域.html:12 true

null==undefined    就是返回true啊   如果是 null===undefined  就是false

发表于 2021-11-11 16:06:05 回复(0)
boolean([])为true
boolean('')为false
发表于 2021-08-18 08:39:04 回复(0)
Boolean([]) trueBoolean(“”) false
发表于 2021-05-10 11:15:22 回复(0)
Boolean([ ])为true,两个!!为真,结果仍为true;
Boolean(' ')为false,两个!!为真,结果为false;
发表于 2021-06-02 10:13:12 回复(0)
选A  
三个等号 === 判断全等,排除B 和 C,js中空数组转化为布尔值为true 空字符串转化为布尔值为false. ! 取反的意思 。两次!就是取两次反。
发表于 2020-09-26 14:24:53 回复(0)
=== 在 == 基础上还要判断数据类型是否一样
发表于 2020-01-16 17:49:20 回复(0)
建议出题人 好好出题 不要不严谨 D明明就是 中间有个空格
发表于 2023-11-09 15:06:43 回复(0)
服了,D答案看成里面有个空格了
发表于 2023-08-25 19:08:07 回复(0)
A选项根据解析应该是对的了,D选项又被坑了,之前是‘ ’以为是空字符串,这次是这个明明看着是有空格,结果是空字符串
发表于 2023-03-21 16:10:54 回复(0)
A肯定是对的 但是你给我说D是空字符串?

发表于 2022-12-12 22:23:28 回复(1)
空数组为true 空字符串为假 两个!!也是真的
发表于 2022-03-04 12:16:25 回复(0)

发表于 2021-09-22 22:27:18 回复(0)
A.[]转换为boolean类型的结果为true.所以A最终转换结果为true.
B/C===不会转换数据的类型
空字符窜转换结果为false.因此最终的转换结果为false
.
发表于 2021-08-16 14:23:07 回复(0)