ホームページ  >  記事  >  ウェブフロントエンド  >  ECMAScript にはどのようなデータ型がありますか?

ECMAScript にはどのようなデータ型がありますか?

青灯夜游
青灯夜游オリジナル
2022-01-27 14:06:112299ブラウズ

ECMAScript データ タイプは 2 つのタイプに分類されます: 1. 基本データ タイプ (文字列、数値、ブール、未定義、ヌル、シンボル タイプなど); 2. 参照データ タイプ (オブジェクト、関数、配列タイプなど)。

ECMAScript にはどのようなデータ型がありますか?

このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。

ECMAScript データ タイプは、基本データ タイプと参照データ タイプの 2 つのタイプに分類できます。

基本タイプ

基本型は値型とも呼ばれます。

  • #文字列: 任意の文字列

  • 数値: 任意の数値

  • ## ブール値: true、false

  • ## 未定義: 未定義
  • null: null
  • シンボル
  • ##オブジェクト タイプ

オブジェクト型は参照型とも呼ばれます

オブジェクト: 任意のオブジェクト

  • 関数: 特別なオブジェクト (違いfrom Object: 実行可能)

  • #Array: 特別なオブジェクト (数値添え字、内部データは順序付けされています)

  • #データのタイプを決定する方法

typeof: 未定義、数値、文字列、ブール値、関数を決定できます決定できません: null とオブジェクト、オブジェクトとArray データ型の文字列式を返します。

instanceof: オブジェクトの特定のタイプを決定します。

===:未定義、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()();//

シンボル タイプ

シンボルは、ECMAScript6 で導入された新しいデータ タイプで、一意の値を表します。次の例に示すように、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 関数の前に使用することはできません。使用しないと、エラーが報告されます。これは、生成されたシンボルがオブジェクトではなくプリミティブ型の値であるためです。つまり、 Symbol値はオブジェクトではないため、プロパティを追加することはできません。基本的には文字列のようなデータ型です。

【関連する推奨事項:

JavaScript 学習チュートリアル

以上がECMAScript にはどのようなデータ型がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。