--- title: Reflect.set() slug: Web/JavaScript/Reference/Global_Objects/Reflect/set tags: - ECMAScript 2015 - JavaScript - Method - Reference - Reflect translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/set ---
静的な Reflect.set()
メソッドは、オブジェクトにプロパティを設定するかのように動作します。
Reflect.set(target, propertyKey, value[, receiver])
target
propertyKey
value
receiver
{{optional_inline}}target
が呼び出されたときの this
値を提供する。プロパティが成功裏に設定できたかどうかを示す {{jsxref("Boolean")}} 値。
{{jsxref("TypeError")}}: target
が {{jsxref("Object")}} ではなかった場合。
Reflect.set
メソッドは、オブジェクトにプロパティを設定します。これはプロパティの割り当てを行い、機能としては プロパティアクセサー 構文のようなものです。
// オブジェクト let obj = {} Reflect.set(obj, 'prop', 'value') // true obj.prop // "value" // 配列 let arr = ['duck', 'duck', 'duck'] Reflect.set(arr, 2, 'goose') // true arr[2] // "goose" // 配列を切り詰められる。 Reflect.set(arr, 'length', 1) // true arr // ["duck"] // 引数が1つだけだと、プロパティキーと値は "undefined" になる。 let obj = {} Reflect.set(obj) // true Reflect.getOwnPropertyDescriptor(obj, 'undefined') // { value: undefined, writable: true, enumerable: true, configurable: true }
仕様書 |
---|
{{SpecName('ESDraft', '#sec-reflect.set', 'Reflect.set')}} |
{{Compat("javascript.builtins.Reflect.set")}}