Object.defineProperty()の使い方

求人
Object.defineProperty()の使い方

TypeScriptでlocation.reloadをspyOnしようとして、できなかったので色々調べていたら、Object.defineProperty()、Object.getOwnPropertyDescriptor()というメソッドを発見しました。

以下を実行します。

結果は以下のようになります。configurableもwritableもfalseなんです。

各プロパティの意味は以下の通りです。

項目 内容
writable 書き込み可否
enumerable 列挙可否
configurable 再定義可否

writable:falseの場合、代入することができません。

次にenumerable:falseのオブジェクトを作成してみます。列挙不可にするために、複数プロパティを定義します。その際は、Object.defineProperties()メソッドを使用します。

プロパティのyはenumerable:falseなので、Object.keysなどで列挙されません。

次にconfigurable:falseのオブジェクトを作成してみます。再定義が不可になります。

具体的には、書き込みは問題ありません。

具体的に再定義が不可というのはどういうことかというと、どうもObject.defineProperty()などで再定義することが不可なようです。

上記コードを実行すると

というエラーが発生します。

Object.defineProperty()の使い方

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA