この記事は主にJavaScript標準オブジェクトの関連情報を詳しく紹介しますので、興味のある方は参考にしてください
JavaScriptの世界ではすべてがオブジェクトです。
しかし、一部のオブジェクトは他のオブジェクトとはまだ異なります。オブジェクトのタイプを区別するために、typeof演算子を使用してオブジェクトのタイプを取得します。これは常に文字列を返します:
typeof 123; // 'number' typeof NaN; // 'number' typeof 'str'; // 'string' typeof true; // 'boolean' typeof undefined; // 'undefined' typeof Math.abs; // 'function' typeof null; // 'object' typeof []; // 'object' typeof {}; // 'object'
visible、number、string、boolean、functionそして unknown は他の型とは異なります。 typeof を使用する場合、null の型がオブジェクトであり、配列の型もオブジェクトであるという事実に特に注意してください。通常の意味では、null、配列、オブジェクトを区別できません ({})。
オブジェクトのパッケージ化
これらの型に加えて、JavaScript にはパッケージ化オブジェクトも用意されています。Java に詳しい人は、int と Integer のあいまいな関係を十分に認識しているはずです。
数値、ブール値、文字列にはすべてパッケージ化オブジェクトがあります。はい、JavaScript では、文字列も文字列型とそのラッパー型を区別します。パッケージング オブジェクトは新しいもので作成されます:
var n = new Number(123); // 123,生成了新的包装类型 var b = new Boolean(true); // true,生成了新的包装类型 var s = new String('str'); // 'str',生成了新的包装类型
パッケージング オブジェクトは元の値とまったく同じに見え、まったく同じように表示されますが、そのタイプは object に変更されています。したがって、 === を使用してラップされたオブジェクトを元の値と比較すると false が返されます:
typeof new Number(123); // 'object' new Number(123) === 123; // false typeof new Boolean(true); // 'object' new Boolean(true) === true; // false typeof new String('str'); // 'object' new String('str') === 'str'; // false
したがって、暇な場合はラップされたオブジェクトを使用しないでください。特に string 型の場合! ! !
Number、Boolean、Stringを使用するときにnewを書かないとどうなりますか? 現時点では、
Number()、Boolean、String()は、あらゆる種類のデータをnumber、boolean、string型に変換する通常の関数として扱われます(注)パッケージタイプではありません):
var n = Number('123'); // 123,相当于parseInt()或parseFloat() typeof n; // 'number' var b = Boolean('true'); // true typeof b; // 'boolean' var b2 = Boolean('false'); // true! 'false'字符串转换结果为true!因为它是非空字符串! var b3 = Boolean(''); // false var s = String(123.45); // '123.45' typeof s; // 'string'
new Number()、new Boolean()、new String()を使用しないでください。
またはparseFloat()を使用して、任意の型をnumberに変換します
を使用します。 任意の型を に変換しますstring、またはオブジェクトの toString() メソッドを直接呼び出します。
通常、直接boolean に変換する必要はありません。 if (myVar) {. ..};
演算子は数値、ブール値、文字列、関数、および未定義を決定できます;
を決定するにはArray.isArray(arr); nullを判定するにはmyVar === null;
グローバル変数が存在します use内部関数は、変数が存在するかどうかを判断するために typeof myVar === 'unknown' を使用します。
最後に、注意深い学生が、オブジェクトには toString()
nullや
未定義
更细心的同学指出,number对象调用toString()报SyntaxError: 遇到这种情况,要特殊处理一下: 不要问为什么,这就是JavaScript代码的乐趣! 以上がJavaScript 標準オブジェクトの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。123.toString(); // SyntaxError
123..toString(); // '123', 注意是两个点!
(123).toString(); // '123'