こんにちは、私はsessionStorage
のようなもののための適切なラッパーを書く方法が不思議です。sessionStorageのようなものに対して適切なES6ラッパーを書く方法
sessionStorage
へのメソッド呼び出しによって、自分自身とプロキシのクラスを実装できます。いくつかの簡単な擬似コードでたとえば:
class customStorage {
set(key, value) {
sessionStorage.setItem(key, value);
}
}
私はそうのようにそれを使用します。
const customStorage = new customStorage();
customStorage.set('my-key', 'hello there');
すべての罰金とダンディが、私は上の他のネイティブsessionStorage
の方法を使用する自由を持っているユーザーのための希望します私のプロキシは自分のプロキシで自分自身を実装していない可能性があります。
sessionStorage
のようなものは、自分で書き込むことができますが、何もしなくても、何もしなくてもsessionStorage
にプロキシされます。
私が20のうち5つの方法しか操作しない場合は、これは実行可能なように見えます。
プロトタイプでネイティブ機能を上書きすることは、多くの場合wtfs-per-minute
につながる死のように思えます。
これまでJavascriptの「プロキシパターン」から読み込んだものは、すべて元のオブジェクトのすべてのメソッドを実装していました。私はこれを強制するのですか?
ES6クラスを作成し、そのクラスのプロトタイプをコンストラクタなどでsessionStorageに設定する方法はありますか?
あなたは "* *適切なラッパー" とはどういう意味ですか?ラッパーは何を達成するはずですか?なぜ、 'sessionStorage'の代わりにラッパーを直接使うのでしょうか? – Bergi
一部のメソッドのすべての機能を実装せずに、デフォルトの機能を変更する。たとえば、 'JSON'オブジェクトを90%使って作業しているので、' set'または 'get'を実行すると、データを設定または取得するために' stringify'や 'parse'を行いたいと思います。そして、「適切な」とは、ES6クラスのような多くの機能がコードに多くの可読性を追加するので、私は好ましくはES6でクリーンなアプローチを意味します。 –
ああ、あなたはその質問を明確にしておくべきです。 – Bergi