トップページ > プログラム > 2016年10月31日 > vSxBS38U

書き込み順位&時間帯一覧

3 位/143 ID中時間01234567891011121314151617181920212223Total
書き込み数0001010200000000000000318



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
+ JavaScript(ECMAScript)質問用スレッド vol.122 + [無断転載禁止]©2ch.net

書き込みレス一覧

+ 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
え?
永続化する必要あるから永続化しようとしてるのに・・


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。