JS类型转换规则

原始值转化为原始值
对象转化为原始值

1、原始值转化为原始值

<script type="text/javascript">
	console.log({}==!{}); //false
	console.log([]==![]); //true
	
	console.log(Number(undefined)); //NaN
	console.log(Number(null)); //0

	//undefined 没有包装类
	console.log(Boolean(undefined)); //false
	console.log(Boolean(null)); //false
	
        //Infinity 虽然无法表示为具体数字,但可以理解为一个数字
	console.log(Number(Infinity)); //Infinity
	console.log(Boolean(Infinity)); //true
	
        // ‘’不等于‘ ’,加空格为表示空格的字符串,只有引号为虚值
	console.log(Boolean('')); //false
	console.log(Boolean(' ')); //true
</script>

falsey(虚值)

  • undefined
  • null
  • 0
  • NaN
  • false
  • ''
  • (+0,-0)

Boolean类型转换除虚值外都为true

        console.log(Boolean(undefined)); //false
	console.log(Boolean(null)); //false
	console.log(Boolean(0)); //false
	console.log(Boolean(NaN)); //false
	console.log(Boolean(false)); //false
	console.log(Boolean('')); //false
	
	console.log(Boolean(0)); //false
	console.log(Boolean(+0)); //false
	console.log(Boolean(-0)); //false

2、对象转化为原始值

posted @ 2020-08-16 11:11  Daeeman  阅读(262)  评论(0编辑  收藏  举报