- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
677 :デフォルトの名無しさん[sage]:2016/10/31(月) 03:18:16.89 ID:vSxBS38U - JavaScriptでPOJO的なクラスを宣言することの存在意義ってありますでしょうか?
例えば、何かしらで永続化するとして class Person { constructor(name, age); } const p = new Person('あいうえお', 20); // WebStorage?で永続化してもとに戻す。ここではJSONで const json = JSON.stringfy(p); const p1 = JSON.parse(json); p1でコード補完なんて効くのか?? JavaScriptでPOJOクラスみたいなものを宣言する存在意義がわかりません。教えて下さい。
|
- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
679 :デフォルトの名無しさん[sage]:2016/10/31(月) 05:10:17.86 ID:vSxBS38U - >JSON出し入れした場合などはプロトタイプが削除されどうせinstanceof等機能しないのだから。
ですよね。 >まあクラスでもとんでもなくいけないということはない >それでわかりやすくなるというのならね デシアライズした後はあんまわかりやすくならなさそうだったので質問してみした。 ありがとうございます。
|
- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
681 :デフォルトの名無しさん[sage]:2016/10/31(月) 07:43:46.18 ID:vSxBS38U - ありがとうございます。確かにPOJOの意味をしっかり理解してなく
ただシンプルぐらいの感覚で使ってたんですが、 ただ聞きたかったのは「POJOの存在意義」ではなく、 永続化するシンプルなクラスの「クラス宣言」をする存在意義をJavaScriptで知りたかったんです。 実際JavaScriptにはクラスというものはなくて class Person { constructor(name, age); はただのシンタックスシュガーらしいのですが、わざわざこんな宣言するメリットあるのかなと それがが聞きたかったのです。 つまり、直接 var p = { };で作ってもいいんじゃないのかと。
|
- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
682 :デフォルトの名無しさん[sage]:2016/10/31(月) 07:47:51.97 ID:vSxBS38U - つか、「存在」ってのつけたのがまずかったですね。
存在ってつけたからPOJOの存在意義って風に。すみまんせん。日本語がおかしかったです。 >永続化するシンプルなクラスの「クラス宣言」をする意義 ただの意義でした。
|
- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
688 :デフォルトの名無しさん[sage]:2016/10/31(月) 22:14:03.50 ID:vSxBS38U - 色々ありがとうございます。いわゆるクラスベースのオブジェクト指向言語については
もうC++,Delphi,Java,C#と10年以上はずっと使ってきました。 で、今回プロトタイプベースと言われる JavaScriptを使って本格的にプログラミングし始めたのですが、もちろん最初は クラス宣言してどんどんクラスを量産してたんですが、今回、例えばSettingsクラスみたいな シンプルなPOJO的で永続化するクラスを作ろうとしたときに、 デシアライズすると元のプロトタイプチェーン?みたいなものが失われるし、 実際動作させた場合、最初のクラス宣言した元のSettingsクラスのインスタンスは最初の1回だけ作成され 後は別のプロトタイプチェーンが失われた別のインスタンス?とでもいうのでしょうかが動くことになるので、 ん?とちょっと手が止まってしまって質問した次第です。
|
- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
689 :デフォルトの名無しさん[sage]:2016/10/31(月) 22:22:26.57 ID:vSxBS38U - まぁ、永続化後に元のプロトタイプチェーンが失われてinstanceofが機能しなくなりますが、
もちろん、クラス宣言があった方が、実際それ参照すれば元々どんな構造だったのか分かりやすいとは もちろん思ってましたが、それを踏まえてJavaScriptの経験豊富な方たちは どうしてるのかなと思って質問したわけです。 とりあえずはプロトタイプチェーンとか気にする必要ない用実装するので クラス宣言する方向で行こうと思います。
|
- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
690 :デフォルトの名無しさん[sage]:2016/10/31(月) 22:23:55.93 ID:vSxBS38U - Setttingsクラスとかだとクラス宣言ないとどんな設定あるのか把握きついですしね。
|
- + JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net
695 :デフォルトの名無しさん[sage]:2016/10/31(月) 23:29:48.72 ID:vSxBS38U - え?
永続化する必要あるから永続化しようとしてるのに・・
|