ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript 標準オブジェクトの詳細な紹介

JavaScript 標準オブジェクトの詳細な紹介

零下一度
リリース: 2017-06-28 13:34:19
オリジナル
1330 人が閲覧しました

この記事は主に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、BooleanStringを使用するときにnewを書かないとどうなりますか? 現時点では、
Number()、BooleanString()は、あらゆる種類のデータをnumber、booleanstring型に変換する通常の関数として扱われます(注)パッケージタイプではありません):


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'
ログイン後にコピー

頭が大きくなったように感じますか?これがJavaScript独特の催眠術の魅力です!


要約すると、従う必要のあるルールがいくつかあります:


  • パッケージ化オブジェクトの作成に

    new Number()、new Boolean()、new String()を使用しないでください。

  • parseInt()

    またはparseFloat()を使用して、任意の型をnumberに変換します

  • String()

    を使用します。 任意の型を に変換しますstring、またはオブジェクトの toString() メソッドを直接呼び出します。

     通常、直接
  • できるため、判断する前に
  • 型を

    boolean に変換する必要はありません。 if (myVar) {. ..};

  • typeof
  • 演算子は数値、ブール値、文字列、関数、および未定義を決定できます;

    を決定するには
  • 使用する配列
  • Array.isArray(arr); nullを判定するにはmyVar === null;

    グローバル変数が存在します use
  • typeof window.

    内部関数は、変数が存在するかどうかを判断するために typeof myVar === 'unknown' を使用します。

  • 最後に、注意深い学生が、オブジェクトには toString()

  • メソッドがあるかどうかを指摘しました。
  • null
    未定義

    などは存在しません。確かに、null も
  • オブジェクト クラス
型として偽装されていますが、これら 2 つの特別な値は除外する必要があります。

更细心的同学指出,number对象调用toString()报SyntaxError:


123.toString(); // SyntaxError
ログイン後にコピー

遇到这种情况,要特殊处理一下:

123..toString(); // '123', 注意是两个点!
(123).toString(); // '123'
ログイン後にコピー

不要问为什么,这就是JavaScript代码的乐趣!

以上がJavaScript 標準オブジェクトの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
JavaScript 가비지 수집이란 무엇입니까?
から 1970-01-01 08:00:00
0
0
0
Apakah pengumpulan sampah JavaScript?
から 1970-01-01 08:00:00
0
0
0
Apakah fungsi cangkuk JavaScript?
から 1970-01-01 08:00:00
0
0
0
JavaScript 후크 기능이란 무엇입니까?
から 1970-01-01 08:00:00
0
0
0
Was sind JavaScript-Hook-Funktionen?
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート