首頁  >  文章  >  web前端  >  ECMAScript有哪些資料類型

ECMAScript有哪些資料類型

青灯夜游
青灯夜游原創
2022-01-27 14:06:112280瀏覽

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有哪些資料類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn