JS中的数据类型和隐式转换
基本类型:string、number、boolean、undefined、null、symbol(ES6)、bigint(是一种内置对象,它提供了一种方法来表示大于 2^53 - 1
的整数,这原本是 Javascript 中可以用 Number
表示的最大数字。BigInt
可以表示任意大的整数)
引用类型:object
隐式转换:
一个Javascript表达式中包含不同类型的值进行运算时,可能会发生隐式类型转换,也可能不转换,隐式类型转换规则与操作数,运算符都相关,这是与强类型语言(Java)不同的地方,Java隐式类型一般只与操作数相关,即表数范围小的类型向表数范围大的类型转换。而Javascript隐式类型转换可以理解为一种语义推断,操作数向更有意义的结果方向进行转换。为了编写更安全的代码,我们在求真假的布尔表达式中应尽量避免隐式类型转换,多使用显示类型转换或严格等价性运算符。


boolean/undefind/number+string=string.
undefined+number/boolean=NaN.
type of null (object)