ホームページ > 記事 > ウェブフロントエンド > JavaScriptのプリミティブ値とは何ですか? JavaScriptのプリミティブ値について詳しく解説
この記事の内容は、JavaScript の本来の値とは何かというものです。 JavaScript の独自の値について詳しく説明していますので、困っている方は参考にしていただければ幸いです。
元の値:
概念: 元の型の値は元の値です。つまり、元の値には文字列、数値の 5 つの型があります。 、ブール値、null、未定義。
valueOf() メソッドと toString() メソッドの使用:
null と unknown には valueOf メソッドと toString メソッドがないため、呼び出すとエラーが報告されます。
valueOf メソッドはデフォルトで呼び出されます:
各 JavaScript オブジェクトの valueOf メソッド定義は異なります:
例:
// 函数: <script> var f = function () {} console.log(f) // ƒ () {} console.log(f.toString()) // function () {} console.log(f.valueOf()) // f () {} </script> // 对象 <script> var obj = {a: 1, b: 'ss'} 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() // '1,2,3' 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 サイトの他の関連記事を参照してください。