3

5つのプリミティブJavaScriptデータ型(、、、、stringおよび)のうちnumber、最初の3つには関連するコンストラクターがあります。booleannullundefined

new String("Hello!")
new Number(40)
new Boolean(true)

構築されたオブジェクトは、オブジェクトリテラルのラッパーです。特に、にnew String("Hello!") === "Hello!"評価されfalseます。

対応するオブジェクトリテラルとは異なるオブジェクトラッパーを生成するnull、プリミティブデータ型の同様のコンストラクターはありますか?undefined

4

2 に答える 2

2

いいえ、ありません。それらが表す「値」を考慮すると意味がありません。

typeof null==='object'という事実を無視します

MDNによると

JavaScript automatically converts primitives and String objects, so that it's
possible to use String object methods for primitive strings.

のようにプリミティブに影響を与えるメソッドを呼び出すと、インタープリターはクラス内のプリミティブの魔法の自動ラッピングを実行しますcharAt

于 2012-05-31T06:53:39.153 に答える
0

プリミティブ型にはコンストラクターがありません。string、number、およびbooleanには、プリミティブ型をラップするオブジェクトラッパーがあります。そのため、jsの文字列オブジェクトはあなたが述べたように「」と同じではありません。nullおよび未定義のプリミティブ型には、関連付けられたObjectコンストラクターがありません。

于 2012-05-31T06:55:26.873 に答える