JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのdelete演算子を使ってセッターを削除する方法

JavaScriptでは、delete演算子(deleteキーワード)を使用することで、オブジェクトからセッターを削除できます。セッターを削除するには、以下のように記述します。

delete obj.name

セッターとゲッターの基本

オブジェクト内で定義されたゲッター(get)やセッター(set)は、通常のプロパティと同様にdelete演算子で削除することが可能です。削除後は、そのプロパティへのアクセスや代入が期待どおりに動作しなくなる点に注意してください。

サンプルコード

次のコードを実行して、セッターの削除方法を確認してみましょう。この例では、部署情報を持つオブジェクトを定義し、ゲッターとセッターを設定しています。

<html>
   <body>
      <script>
         var department = {
            deptName: "Marketing",
            deptZone: "North",
            deptID: 101,
            get details() {
               return "Department Details<br>" + "Name: " + this.deptName + " <br>Zone: " + this.deptZone + "<br>ID: " + this.deptID;
            },
            set details(info) {
               var res = info.toString().split(' ');
               this.deptName = res[0] || '';
               this.deptZone = res[1] || '';
               this.deptID = res[2] || '';
            }
         }
         // セッターを使って値を設定
         department.details = 'Marketing North 001';
         document.write("<br>Department Name: " + department.deptName);
         document.write("<br>Departmet Zone: " + department.deptZone);
         document.write("<br>Department ID: " + department.deptID);
         // delete演算子でプロパティを削除
         delete department.deptName;
         document.write("<br>Department Name (after deletion): " + department.deptName);
      </script>
   </body>
</html>

コードの解説

上記の例では、まずdepartmentオブジェクトにdetailsという名前のゲッターとセッターを定義しています。

  • セッターの動作: department.details = 'Marketing North 001'のように値を代入すると、セッターが呼び出され、スペース区切りの文字列が分割されて各プロパティ(deptName、deptZone、deptID)に設定されます。
  • delete演算子: delete department.deptNameを実行すると、deptNameプロパティがオブジェクトから完全に削除されます。

削除後は、department.deptNameにアクセスしてもundefinedが返されるため、出力結果には「undefined」と表示されます。

注意点

delete演算子は、変数や関数宣言そのものには使用できません。また、厳格モード(strict mode)では、設定不可能(configurable: false)なプロパティに対してdeleteを使用するとエラーが発生します。オブジェクトのプロパティやアクセサ(ゲッター・セッター)を削除する場合のみ使用するようにしましょう。

  1. JavaScriptのsplice()メソッドで配列から要素を削除する方法【コード例付き】

    JavaScriptのsplice()メソッドを使うと、配列から指定した位置の要素を簡単に削除できます。このメソッドは元の配列を直接変更する点が特徴です。 splice()メソッドの基本構文 arr.splice(start, deleteCount) start: 削除を開始するインデックス位置(0から始まります) deleteCount: 削除する要素の数。省略すると、開始位置から配列の末尾までがすべて削除されます 以下は、splice()メソッドを使用して配列の1番目から5番目の間の要素(インデックス1〜4)を削除するサンプルコードです。 コード例 <!DOCTYPE html

  2. JavaScriptで親要素の子要素を取得する方法【サンプルコード付き】

    JavaScriptでは、親要素が持つchildrenプロパティを参照することで、その直下にある子要素をまとめて取得できます。本記事では、実際に動作するサンプルコードを使いながら、具体的な手順をわかりやすく解説します。 サンプルコード 以下は、JavaScriptを使って親要素(parent1)の子要素を取得し、ボタンのクリックで一括表示させる例です。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta nam