JavaScript是一种弱类型语言,即一个数据(变量或常量)不必先作声明,可在使用或赋值时再确定其数据的类型。
javascript 中有7种数据类型,分别是null(空值)、undefined(未定义)、boolean(布尔)、number(数字)、string(字符串)、object(对象)、symbol。其中null、undefined、boolean、number、string是基本数据类型。object类型包含 function、array、date 等。
var par1=null;//null
var par2;//undefined
var par3=true;//boolean
var par4=1;//number
var par5='abc';//string
var par6={'a':1};//object
var par7=Symbol("a");//symbol
var par8=[0,1,2];//array
布尔
布尔有且只能有两个值:false(假)、true(真)。布尔true 可以转换为 1 ;false 可以转换为 0。
var boo1=true;
var boo2=false;
boo1 == 1 // true
boo2 == 0 // false
数字
var num1=1;
var num2=1.02;
var num3=12e3;//12000 科学计数法
var num4=12e-3;//0.012 科学计数法
字符串
字符串是用来存储字符的,可以是一对引号中的任意文本(可以使用单引号或双引号)。
var str1='字符串';
var str2="str1='字符串'";
symbol
Symbol 是ES6新增的数据类型。每一个 Symbol 的值都是不相等的,故使用Symbol 作为对象的属性名,可以保证属性不重名。
var key = Symbol('keyValue');
var obj = {};
obj[key]='666';
类型判断
使用 typeof 判断类型
typeof 1 // number
typeof undefined // undefined
typeof '666' // string
使用 Object.prototype.toString 判断类型
Object.prototype.toString.call(4) // [object Number]
Object.prototype.toString.call([0])// [object Array]
Object.prototype.toString.call(null)// [object Null]
Object.prototype.toString.call(undefined)//[object Undefined]
Object.prototype.toString.call({a:1})//[object Object]