变量的数据类型指的是声明变量赋值的时候,可以给这个变量赋哪些类型的值;
ES约定的数据类型分为两大类
1.基本类型:简单类型 - 5个
1.数字类型(二进制、八进制、十进制、十六进制);
二进制数字:0-1组成,0b开头的数字;
var num1=0b110;
八进制数字:0-7组成,0o开头的数字;
var num2=0123;
十进制数字:0-9组成,不需要开头;
var num3=123;
十六进制的数字:0-f, 0x开头;
var num4=0x1f2;
输出的时候都会转换成十进制输出;
2.字符串的类型:添加引号(单双引号都可以)
生活中的数字、字母、中文、特殊符号组成 —— string
3.布尔类型:布尔类型只有两个值true和false;分别表示真和假 —— boolean
4.null类型:空对象类型,ES里面特殊类型(如果一个值无法确定类型,可以设为null);
5.undefined类型,变量未初始化,未赋值,属性不存在,ES里面的特殊类型;
2.引用类型:复杂类型 - 1个 - object
var arr = [“zhangsan” , “lisi” , “wangwu”]; //数组对象,对象类型
六大数据类型的英文表示
number / string / boolean / null / undefined / object
二.检测变量的数据类型。
1.typeof (typeof判断一个不存在的变量时,返回undefined)面试题
2.toString
toString判断类型的语法:Object.prototype.toString.call(需要判断的变量)
1.检测变量类型的语法:typeof( 变量名 ) 或者 typeof 变量名 typeof后面的括号可以省略。
console.log(typeofnum1); //number
console.log(typeofstr1); //string
console.log(typeofb1); //boolean
console.log(typeofnull); //object 空对象类型,属于对象一类,特殊的
console.log(typeofundefined); //undefined
console.log(typeofarr); //object
2.typeof返回的值又是什么类型?
typeof 返回五个不同的值(number/boolean/string/object/undefined),返回的值的类型都是string格式
console.log(typeofnum1); //number
console.log(typeoftypeofnum1); //string
console.log(typeoftypeofstr1); //string
console.log(typeoftypeofb1); //string