Reflect.deleteProperty()

Reflect.deleteProperty() 静的メソッドは、プロパティを削除します。delete 演算子 を関数にしたようなものです。

構文

Reflect.deleteProperty(target, propertyKey)

引数

target
プロパティを削除する対象のオブジェクトです。
propertyKey
削除するプロパティ名です。

戻り値

成功裏にプロパティが削除されたかどうかを示す Boolean 値です。

例外

targetObject ではなかった場合、TypeError がスローされます。

説明

Reflect.deleteProperty メソッドは、プロパティを削除します。これは成功裡にプロパティが削除されたかどうかを示す Boolean を返します。これは非厳密の delete 演算子とほぼ同じです。

Reflect.deleteProperty() を使用する

var obj = { x: 1, y: 2 };
Reflect.deleteProperty(obj, "x"); // true
obj; // { y: 2 }

var arr = [1, 2, 3, 4, 5];
Reflect.deleteProperty(arr, "3"); // true
arr; // [1, 2, 3, , 5]

// そのようなプロパティが存在しない場合、true を返す。
Reflect.deleteProperty({}, "foo"); // true

// プロパティが設定不可能な場合、false を返す。
Reflect.deleteProperty(Object.freeze({foo: 1}), "foo"); // false

仕様

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
Reflect.deleteProperty の定義
標準 初期定義です。
ECMAScript Latest Draft (ECMA-262)
Reflect.deleteProperty の定義
ドラフト

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
deletePropertyChrome 完全対応 49Edge 完全対応 12Firefox 完全対応 42IE 未対応 なしOpera 完全対応 36Safari 完全対応 10WebView Android 完全対応 49Chrome Android 完全対応 49Firefox Android 完全対応 42Opera Android 完全対応 36Safari iOS 完全対応 10Samsung Internet Android 完全対応 5.0nodejs 完全対応 6.0.0

凡例

完全対応  
完全対応
未対応  
未対応

関連情報