このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Reflect.set()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年9月.
静的なReflect.set() メソッドは、オブジェクトにプロパティを設定するかのように動作します。
In this article
試してみましょう
const object1 = {};Reflect.set(object1, "property1", 42);console.log(object1.property1);// Expected output: 42const array1 = ["duck", "duck", "duck"];Reflect.set(array1, 2, "goose");console.log(array1[2]);// Expected output: "goose"構文
Reflect.set(target, propertyKey, value[, receiver])
引数
targetプロパティを設定する対象のオブジェクト。
propertyKey設定するプロパティ名。
value設定する値。
receiver省略可セッターによって
targetが呼び出されたときのthis値を提供する。
返値
プロパティが成功裏に設定できたかどうかを示すBoolean 値。
例外
解説
Reflect.set メソッドは、オブジェクトにプロパティを設定します。これはプロパティの割り当てを行い、機能としてはプロパティアクセサー 構文のようなものです。
例
>Reflect.set() の使用
js
// オブジェクトlet obj = {};Reflect.set(obj, "prop", "value"); // trueobj.prop; // "value"// 配列let arr = ["duck", "duck", "duck"];Reflect.set(arr, 2, "goose"); // truearr[2]; // "goose"// 配列を切り詰められる。Reflect.set(arr, "length", 1); // truearr; // ["duck"]// 引数が1つだけだと、プロパティキーと値は "undefined" になる。let obj = {};Reflect.set(obj); // trueReflect.getOwnPropertyDescriptor(obj, "undefined");// { value: undefined, writable: true, enumerable: true, configurable: true }仕様書
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-reflect.set> |