typeof是判断数据类型的一种方式
typeof可以判断基本数据类型和undefined。引用数据类型和null的判断都是Object。
这道题转化为
100+ undefined 输出什么?
结果是 NaN
回答这道题我们需要了解一个知识点 数据转换
数据的类型转换:将某个数据的类型通过某种方式转换为另一种数据类型! 比如: number 转换成 string
数据转换通过方式不同可以分为:强制转换、隐式转换
强制转换:人为的通过手段去改变一个数据的类型
隐式转换:没有人为的参与,是程序解析自动进行转换
这里我们讲一下强制转换的一种方式
Number()函数
该函数可以将其他的数据类型强制转换为Number类型的数据
// Undefined ==> Number
console.log(Number(undefined), typeof Number(undefined))//NaN 'number'
在加法运算中
如果+号的一侧数据类型为字符串类型,则+号就自动变成字符的拼接
console.log(100 + null)//100
console.log(100 + undefined) // 100 + Number(undefined) ==> 100 + NaN = NaN