欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

ECMAScript有哪些数据类型

程序员文章站 2022-03-12 16:25:11
...

ECMAScript的数据类型分两种:1、基本数据类型,包括String、Number、Boolean、undefined、null和Symbol类型;2、引用数据类型,包括Object、Function和Array类型。

ECMAScript有哪些数据类型

本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。

ECMAScript的数据类型可以分为两种类型:基本数据类型和引用数据类型

基本类型

基本类型也叫值类型。

  • String:任意字符串

  • Number:任意数字

  • Boolean:true、false

  • undefined:undefined

  • null:null

  • Symbol

对象类型

对象类型也叫引用类型

  • 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 是 ECMAScript6 中引入的一种新的数据类型,表示独一无二的值,Symbol 类型的值需要使用 Symbol() 函数来生成,如下例所示:

var str = "123";
var sym1 = Symbol(str);
var sym2 = Symbol(str);
console.log(sym1);          // 输出 Symbol(123)
console.log(sym2);          // 输出 Symbol(123)
console.log(sym1 == sym2);  // 输出 false :虽然 sym1 与 sym2 看起来是相同的,但实际上它们并不一样,根据 Symbol 类型的特点,sym1 和 sym2 都是独一无二的

Symbol函数的参数只是表示对当前 Symbol 值的描述,因此相同参数的Symbol函数的返回值是不相等的。

Symbol函数前不能使用new命令,否则会报错。这是因为生成的 Symbol 是一个原始类型的值,不是对象。也就是说,
由于 Symbol 值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。

【相关推荐:javascript学习教程

以上就是ECMAScript有哪些数据类型的详细内容,更多请关注其它相关文章!