ホームページ  >  記事  >  ウェブフロントエンド  >  a='abc' が a=new String('abc') と等しくない理由

a='abc' が a=new String('abc') と等しくない理由

小云云
小云云オリジナル
2018-01-03 10:58:522084ブラウズ

この記事では、a="abc" が a=new String("abc") と等しくない理由を主に紹介します。必要な方は参考にしていただければ幸いです。

当たり前


そうです

でも、なぜでしょうか?たくさんの本を読んだり、何人かの専門家に聞いたりしましたが、実はまだ混乱していました。将来の参照のためにここに記録します。

jsでは、元のデータ型とパッケージ化型を区別します。数値、文字列、ブール値、null、および未定義はプリミティブ データ型ですが、数値、文字列、およびブール値はパッケージ化タイプであり、新しい数値によって作成されるものは、パッケージ化タイプの派生オブジェクトです。したがって、この 2 つは等しくありません。

基本型への直接代入後の使用手順は以下の通りです:

1. String型のインスタンスを作成します

2. インスタンス上で指定されたメソッドを呼び出します

3. インスタンスを破棄します

:


a="abc"
typeof a //string
b=new String("abc")
typeof b // object
a==b //true
a===b //false

ここには別の格言があります: ボックス化、ボックス化解除

ボックス化とは、この値クラスを使用して、対応するパッケージング オブジェクトを構築することです


var a="123"
a.toFixed===Number.prototype.toFixed;

ボックス化の最大の役割は、値を使用することです扱うオブジェクトとして。

アンボックス化とは、パッケージングオブジェクトを値型に変換することです


var a=10 ,b="javascript" , c=true;
  var o_a=new Number(a);
  var o_b=new String(b);
  var o_c=new Boolean(c);

関連する推奨事項:

ajaxは、PHPページの戻りパラメータ、コントロール割り当てのメソッドを取得します

jqueryの動的割り当てについてIDと動的IDの取得方法の共有

phpでjs配列に値を割り当てる方法

以上がa='abc' が a=new String('abc') と等しくない理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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