答えて
何もに追加されていないか、凍結された オブジェクトのプロパティを設定から削除することができます。サイレントモードで、または TypeError例外をスローすることで失敗します(通常、strictモードの では排他的ではありません)。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze
あなたはこのようにそれについて考えることができます。
if(typeof ChuckNorris === 'undefined') {
ChuckNorris = Object.create([Infinity], {
canCountTo: {
value: Infinity * 2,
writable: true,
configurable: true
}
});
Object.freeze(ChuckNorris); // nothing can harm Chuck anymore !
}
console.log(ChuckNorris.canCountTo); // Infinity
delete ChuckNorris.canCountTo;
console.log(ChuckNorris.canCountTo); // Infinity
だから、基本的に、freeze
は、作成後にfalseにオブジェクトwritable
とconfigurable
フラグを設定します。
いいえ、Object.freeze
のアイデアはあなたがもうそれを変更できないということです。 documentation:
本質的にオブジェクトは効果的に不変になります。
と:
何を加えないか、または凍結オブジェクトのセットの特性から除去することができます。そうしようとする試みは失敗し、...
だから、基本的に私はこれを使って物を「プライベート」にすることができますか? –
@Mike Shinola:「プライベート」の定義方法によって異なります。その値は変更することはできませんが、それでも読み取ることができます。 – pimvdb
- 1. youtube APIでorderbyの結果を元に戻すことはできますか?
- 2. 私はunstaged変更とブランチを削除 - 私はこれを元に戻すことができますか?
- 3. 除外モジュールの効果を元に戻すことができません
- 4. EGitはマージコミットを元に戻すことはできますか?
- 5. Javersでコミットを元に戻すことはできますか?
- 6. Firebaseのリストを元に戻すことはできますか?
- 7. プロットで `datetick`の効果をどうやって元に戻すことができますか?
- 8. UIModalTransitionStyleCoverVerticalを元に戻すことはできますか?
- 9. チェックアウトを元に戻すことはできますか?
- 10. RichTextBoxを元に戻すと元に戻すことができますか?
- 11. カーフィッシャーの効果をどうやって元に戻すことができますか?
- 12. ダッシュボードからアプリを元に戻すことはできますか?
- 13. コマンドパターンは元に戻すことができますか?
- 14. mvコマンドの結果をどうにか元に戻すことはできますか?
- 15. ProgressBarを元に戻すことはできません。
- 16. Wordはこの操作を元に戻すことはできません。続けたいですか?
- 17. どのように私はこの効果をCSSで作ることができますか?
- 18. 私は、es5/es2015 AngularJSアプリを混在させることはできますか?
- 19. JqueryのUI、どのように私はdraggableは常に元に戻すことができますか?
- 20. .htaccessファイルでこれを行うことはできますか?
- 21. Spockでこれを行うことはできますか?
- 22. LESSでこれを行うことはできますか?
- 23. CSSメニューでこれを行うことはできますか?
- 24. ASP.NETルーティングでこれを行うことはできますか?
- 25. PHPでこれを行うことはできますか?
- 26. customErrorsでこれを行うことはできますか?
- 27. ブルートゥースでこれを行うことはできますか?
- 28. Laravel Sparkでこれを行うことはできますか?
- 29. CouchDBでこれを行うことはできますか?
- 30. SQL Serverでこれを行うことはできますか?
これで、これらのフラグをtrueに戻すことができるようになりましたか? –
私は間違ってはいけない私はこういう風が好きです:Pですが、JavaScriptを使って決して確実にすることはできません...オブジェクトを再び変更可能にすることができれば、この機能に頼る必要はありません。 –
JSエンジンがネイティブにサポートしているときに、フリーズされたオブジェクトのプロパティを変更する方法はありません。 – jAndy