Javascript中有五种基本数据类型:
Undefined、Null、Boolean、Number、String
一种对象类型:
object类型(复杂数据类型)——(function函数、Array、Date等)
在ES6中,新加入了一种原始数据类型Symbol,表示独一无二的值,是JavaScript中第七种数据类型,可以用来保证每个属性的名字都是独一无二的,避免属性名的冲突。
因为在ECMAScript的变脸是松散类型的,所以在JavaScript语言是弱类型。因此在实际操作中会表现出一些特征:
1+1 //2 两个数值相加
"1"+1 //11 把后者当做字符串,+号起一个连接符的作用
"1"-1 //0 编译器把前者转化为数值
知道这种特性后,我们可以利用其来巧妙的进行类型转换。
"string" -0 //把字符串转换为数值
num+" " //把数值转换为字符
在实际应用时,我们需要一种方法来检验某个变量的数据类型。就需要用到——typeof操作符。
e.g var arr ="Javascript" ;
alert(typeof arr); //String
alert(typeof 10); //number
(有些时候,typeof操作会返回一些令人迷惑但技术上却正确的值。比如,调用 typeof null 会返回"object",因为 特殊值null被认为是一个空的对象引用。Safari 5以及之前的版本、CHrome 7及之前版本在对正则表达式调用typeof操作符是会返回"function",而其他浏览器在这种情况下会返回"object"。——JavaScript高级程序设计)