ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptのプリミティブ値とは何ですか? JavaScriptのプリミティブ値について詳しく解説

JavaScriptのプリミティブ値とは何ですか? JavaScriptのプリミティブ値について詳しく解説

云罗郡主
云罗郡主転載
2018-11-23 15:52:533574ブラウズ

この記事の内容は、JavaScript の本来の値とは何かというものです。 JavaScript の独自の値について詳しく説明していますので、困っている方は参考にしていただければ幸いです。

元の値:

概念: 元の型の値は元の値です。つまり、元の値には文字列、数値の 5 つの型があります。 、ブール値、null、未定義。

valueOf() メソッドと toString() メソッドの使用:

null と unknown には valueOf メソッドと toString メソッドがないため、呼び出すとエラーが報告されます。

valueOf メソッドはデフォルトで呼び出されます:

各 JavaScript オブジェクトの valueOf メソッド定義は異なります:

JavaScriptのプリミティブ値とは何ですか? JavaScriptのプリミティブ値について詳しく解説

例:

// 函数:
<script> 
  var f = function () {}
  console.log(f) // ƒ () {}
  console.log(f.toString()) // function () {}
  console.log(f.valueOf()) // f () {}
</script>
// 对象
<script> 
  var obj = {a: 1, b: &#39;ss&#39;}
  console.log(obj) // {a: 1, b: "ss"}
  console.log(obj.toString()) // [object Object]
  console.log(obj.valueOf()) // {a: 1, b: "ss"}
</script>

(1) オブジェクトの valueOf メソッドを呼び出します。戻り値が元の値の場合はそのまま返され、それ以外の場合はオブジェクト自体が返されます。

(2) 配列の場合、その toString() メソッドがオーバーライドされていない場合、そのデフォルトの実装は、配列の join() メソッドの戻り値を toString() の戻り値として呼び出します。

例 1:

[1,2,3].toString()  // &#39;1,2,3&#39;
var str = new String("11")
console.log(str) //String {"11"}
console.log(str.valueOf()) // 11 (typeof返回string)
console.log(str.toString()) // 11 (typeof返回string)

str.valueOf() の戻り値が 11 である理由:

ここでの valueOf メソッドは、String プロトタイプの valueOf メソッドを呼び出します。 Object オブジェクトのプロトタイプの valueOf メソッドの代わりに、プロトタイプ チェーン構造では String.prototype が Object.prototype の前にあり、String.prototype.valueOf メソッドは文字列を返すため、戻り値は 11 になります。

例 2:

<script>
var obj = new Object({a: 1})
console.log(obj) // {a: 1}
console.log(obj.valueOf()) // {a: 1}
console.log(obj.toString()) // [object Object]
console.log(obj + 1) // [object Object]1
</script>

理由: オブジェクトを操作に使用する場合、valueOf メソッドが最初に呼び出されます。このとき、valueOf の戻り値はまだオブジェクトであるため、toString メソッドは次のようになります。操作のために再度呼び出されたため、戻り値は [object Object]1 になります。

値の特定の型を決定します:

Object.prototype.toString() を使用します。 call(val)

戻り値は次のとおりです。 # 以降 JavaScript の元の値は何でしょうか? JavaScript のプリミティブ値の詳細な説明を完全に紹介します。

JavaScript チュートリアル

について詳しく知りたい場合は、PHP 中国語 Web サイトに注目してください。

以上がJavaScriptのプリミティブ値とは何ですか? JavaScriptのプリミティブ値について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。