这篇文章的内容主要围绕ECMAScript的数据类型有哪些进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
ECMAScript的数据类型分两种:1、基本数据类型,包括String、Number、Boolean、undefined、null和Symbol类型;2、引用数据类型,包括Object、Function和Array类型。
本教程操作环境: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 值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。
感谢你的阅读,相信你对“ECMAScript的数据类型有哪些”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注亿速云网站!小编会继续为大家带来更好的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。