この記事で共有する内容は、特定の参照値を持つネイティブ js コンストラクターに関するものです。必要な友人はそれを参照できます。
javascript は、5 つのネイティブ データ型を含むオブジェクトベースの言語です。 number(数値型)
boolean(ブール型)
string(文字列型)
null(null)
undefine(未定義)
function fn(){ //这是一个函数声明,函数是一个特殊的对象}
コンストラクターは通常の関数であり、他の関数と何ら変わりません。関数 == コンストラクターとして理解できます。これは単なる概念的な定義です。 、オブジェクトをインスタンス化するために使用されます。 JavaScript の組み込みオブジェクトの場合、Object、Array、Date などはすべてコンストラクターです。
function Fn(){}var f = new Fn() //实例化对象
function Obj() { this.a = 1; return { a: 2 }; }var o = new Obj(); // o并不是Obj的实例console.log(o.a); // 输出2
前述したように、JavaScript では関数もオブジェクトです。オブジェクトでは、すべての関数 オブジェクトは、Object、Array などの Function コンストラクターのすべてのインスタンスです。
instanceof 演算子を使用してチェックします
instanceof 演算子は、指定されたオブジェクトがオブジェクトのインスタンスであるかどうかを返します。形式は次のとおりです: B のインスタンス。このうち、左のオペランドはオブジェクト、右のオペランドはクラス(コンストラクター)である必要があります。
判定処理: オブジェクトAのプロトタイプチェーンに関数Bが見つかった場合、instanceof演算子はtrueを返します。 , それ以外の場合は false を返します。 JavaScript String 型)
null (空)
unknown (未定義)
さらに、それ以外はすべてオブジェクトであり、関数もオブジェクトです;
alert(Function instanceof Function); // Function函数对象 本身就是自己的一个实例alert(Object instanceof Function); // Object函数对象 是 Function构造函数的一个实例alert(arr instanceof Array);
コンストラクターは通常の関数であり、 function == コンストラクターとして理解できます。これは、オブジェクトをインスタンス化するために使用されます。
function fn(){ //这是一个函数声明,函数是一个特殊的对象}
function Fn(){}var f = new Fn() //实例化对象
判定処理: オブジェクトAのプロトタイプチェーンに関数Bが見つかった場合、instanceof演算子はtrueを返します。 , それ以外の場合は false を返します。
function Obj() { this.a = 1; return { a: 2 }; }var o = new Obj(); // o并不是Obj的实例console.log(o.a); // 输出2
関連する推奨事項:
js コンストラクター、インデックス付き配列、プロパティの実装と使用_JavaScript スキル以上がネイティブjsコンストラクターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。