を削除するにもかかわらず、唯一のゲッターを持つプロパティを設定できません。Javascriptが私は私のクラスのいずれかで、次のゲッターを持っている私はゲッター
get password(){
if(this._public) return null;
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var i = 0; i < 10; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
delete this.password;
return this.password = text;
}
伴わセッターはありません。ラインreturn this.password = text
に私はこのエラーを取得する:
Uncaught TypeError: Cannot set property password of # which has only a getter
はしかし、ゲッターは、この時点で削除する必要があり、それがパスワードと呼ばれる全く性質を持っていないはずです。私は実際にMDNのページhere(ページの最後のコードスニペット)からこのアイデアを得ました。
これはなぜ起こっているのですか?
Chrome 51とNode.js(v6.0.0)でテスト済みです。
あなたは何のセッターを持っていない場合さて、あなたは右、何かを設定することはできませんか?私はあなたが実際にそれを設定するためにセッターを必要とすることはかなり明らかだと思います – Darkrifts
@ダークリフト:これはRubyではありません。プロパティは、データプロパティまたはアクセサプロパティのいずれかになります。私が正しく理解していれば、OPはアクセサープロパティを削除したいので、データプロパティをその場所に置くことができます。 – Amadan
パスワードはどのようにクラスに保存されていますか? this._password? – skyline3000