ECMAScript的原始类型
ECMAScript的原始类型(续)
ECMAScript的引用类型(Object)
上面是之前写的博客。
基本类型
基本类型也叫值类型。
String:任意字符串
Number:任意数字
Boolean:true、false
undefined:undefined
null:null
对象类型
对象类型也叫引用类型
Object:任意对象
Function:一种特别的对象(与Object的区别:可以执行)
Array:一种特别的对象(数值下标,内部数据是有序的)
怎么判断数据的类型
typeof:可以判断undefined、数值、字符串、布尔值、function
不能判断:null与Object、Object与Array
返回数据类型的字符串表达。
instanceof:判断对象的具体类型。
===:可以判断undefined、null
1、基本类型的判断方法:
var a;
console.log(a);//undefined
console.log(typeof a);//"undefined"
console.log(a===undefined);//true
a=4;
console.log(typeof a==="number");//true
a='dewferf';
console.log(typeof a==='string');//true
console.log(typeof a==='String');//false
a=true;
console.log(typeof a === 'boolean');//true
a=null;
console.log(typeof a,a===null);//"object",true
2、引用类型的判断方法
var b1={
b2:[1,'avc',console.log],
b3:function(){
console.log('b3');
return function(){
return 'lxyxxx';
}
}
};
console.log(typeof b1.b2);//'object'
console.log(b1 instanceof Object,b1 instanceof Array);//true,false
console.log(b1.b2 instanceof Array,b1.b2 instanceof Object);//true,true
console.log(b1.b3 instanceof Function,b1.b3 instanceof Object);//true,true
console.log(typeof b1.b3);//'function'
console.log(typeof b1.b3 === 'function');//true
console.log(typeof b1.b2[2]);//'function'
console.log(typeof b1.b2[2] === 'function');//true
b1.b2[2](4);//因为b1.b2[2]是函数,所以会执行
b1.b3()();//
Symbol函数的参数只是表示对当前 Symbol 值的描述,因此相同参数的Symbol函数的返回值是不相等的。
Symbol函数前不能使用new命令,否则会报错。这是因为生成的 Symbol 是一个原始类型的值,不是对象。也就是说,
由于 Symbol 值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。