JavaScript - delete 演算子

delete 演算子

delete 演算子は、オペランドに指定されたオブジェクトプロパティや配列要素を削除する単項演算子です。削除に成功すると true を返し、そうでなければ false を返します。

var o = { x: 1, y: 2}; 
delete o.x;            // プロパティの 1 つを削除する。
"x" in o               // false: このプロパティは delete 済み。

var a = [1,2,3];       
delete a[2];           // 配列の最後の要素を削除する。
a.length               // 2: この時点では配列は要素を 2 つしか持たない。

delete 演算子を使用する場合、以下の点に注意する必要があります。

  • 削除しようとしたプロパティが存在しない場合 delete は何の効果もなく true を返します。
  • グローバルスコープや関数スコープから var で宣言されたプロパティは削除できません。
  • letconst で宣言された任意のプロパティは、それらが宣言されたスコープから削除できません。
  • 編集不可能なプロパティは削除できません。これには MathArrayObject のようなビルトインオブジェクトのプロパティや Object.defineProperty() のようなメソッドで編集不可として生成されたプロパティが含まれます。
adminName = 'xyz';
delete adminName;              // true

var empCount = 43;
delete empCount;               // false 

EmployeeDetails = {
  name: 'xyz',
  age: 5,
  designation: 'Developer'
};
delete EmployeeDetails.name;   // true 
delete EmployeeDetails.salary; // true 
delete EmployeeDetails;        // true

delete Math.PI;                // false 

function f() {
  var z = 44;
  delete z;                    // false
}

プロパティが編集不可に設定されているとき delete は何の効果もなく false を返します。strict モードでは SyntaxError となります。

関連記事

JavaScript のまとめページはプログラミング JavaScript 入門を参照してください。

Category:
プログラミング
公開日:
更新日:
Pageviews:
22
Shares:
0
Tag:
JavaScript
hatebu icon
hatebu