JavaScript オブジェクトのシリアル化、toString() および valueOf() の使用法の概要

不言
リリース: 2019-03-14 11:49:54
転載
2531 人が閲覧しました

この記事では、JavaScript オブジェクトのシリアル化、toString() および valueOf() の使用法について説明します。これには特定の参照値があります。必要な友人はそれを参照できます。お役に立てば幸いです。

Serialization

JSON.stringify() はオブジェクトを処理します

let obj = { val: undefined, a: NaN, b: Infinity, c: new Date(), d: { e: 'nice' }, y: Object } console.log(JSON.stringify(obj)) //输出 "{ "a": null, "b": null, "c": "2019-03-13T12:01:44.295Z", "d": "{ "e": "nice" }" }"
ログイン後にコピー

オブジェクトの値が未定義で Object の場合、NaN で Infinity の場合は無視されます。 null、オブジェクト インスタンス たとえば、d、キーと値の両方に二重引用符を追加します。

JSON.stringify() は配列を処理します

let arr = [undefined, Object, Symbol(""), { e: 'nice' }] console.log(JSON.stringify(arr)) //输出 "[null, null, null, { "e": "nice" }]"
ログイン後にコピー

カスタム シリアル化

オーバーライドできますtoJSON() メソッド オブジェクトのカスタム シリアル化

let obj = { x: 1, y: 2, re: { re1: 1, re2: 2, toJSON: function(){ return this.re1 + this.re2; } } } console.log(JSON.stringify(obj)) //输出 "{ "x":1, "y":2, "re":3 }"
ログイン後にコピー

ToSting()

let obj = { x:1, y:2 } console.log(obj.toString()) //输出 "[object Object]" obj.toString = function(){ return this.x + this.y; } "Result" + obj; //输出 "Result3" 调用了toString +obj; //输出 "3" 调用了toString obj.valueOf = function(){ return this.x + this.y + 100; } "Result" + obj; //输出 "Result103" 调用了toString
ログイン後にコピー

toString と valueOf の両方が存在する場合、操作時に基本型への変換が試行されます。最初に valueOf が返されます。基本型 Type が返された場合、これは valueOf のみを呼び出します。たとえば、オブジェクトでない場合は、toString に移動します。オブジェクトも返された場合は、エラーが報告されます

以上がJavaScript オブジェクトのシリアル化、toString() および valueOf() の使用法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!