关于js类型的细节

**js语言一共有七种语言类型,其中有一种是es6新增的,分别是** 1.Undefined:Unddfined类型表示未定义,它的类型只有一个值,就是undefined.任何变量在赋值前都是Undefined. 2.Null:表示定义了但是为空,null是javascript关键字。 3:Boolean:有两个值,true和false,用于表示逻辑意义上的真和假。 4:String:字符串类型,用于表示文本数据,有最大长度是2^53-1(反正就是很大,一般开发都够用) 5.Number:数字类型.里面规定了几个例外的情况 NaN:即非数值,是一个特殊的值,或者不可表示的值。一般就是不是数字或者不能解析这个值。 Infinity:表示无穷大。 -Infinity:表示负无穷大。 6.Symbol:是ES6中引入的新类型,它是一切非字符串的对象key的集合,Symbol函数前不能使用new命令,否则会报错。ES5的对象 属性名都是字符串,很容易造成属性名冲突。比如,使用了一个他人提供的对象,想为这个对象添加新的方法,新方法的 名字就有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二的,这样就从根本上防止了属性 名冲突。这就是ES6引入Symbol的原因。 7.Object:就是对象,是js中最复杂的类型,也是js的核心机制之一,是一切有形和无形物体的总称。