delete演算子とは、オブジェクトの特定のプロパティ、または、配列の特定の要素を削除する演算子。
削除禁止のプロパティを削除しようとすると、削除に失敗し、「false」を返す。それ以外の場合は、「true」を返す。
構文
オブジェクトのプロパティを削除
ドット表記法
delete オブジェクト名 . プロパティー名;
「オブジェクト名」のオブジェクトの「プロパティー名」のプロパティを削除する。
ブラケット表記法
delete オブジェクト名[プロパティー名];
「オブジェクト名」のオブジェクトの「プロパティー名」のプロパティを削除する。
配列の要素を削除
delete 配列名[インデックス];
サンプル
オブジェクトのプロパティを削除
ドット表記法
<script type="text/javascript">
objectName = new Object();
objectName . propertyName = 'サンプル';
document . write( '<p>' + objectName . propertyName + '</p>' );
document . write( '<p>' + delete objectName . propertyName + '</p>' );
document . write( '<p>' + objectName . propertyName + '</p>' );
</script>
objectName = new Object();
objectName . propertyName = 'サンプル';
document . write( '<p>' + objectName . propertyName + '</p>' );
document . write( '<p>' + delete objectName . propertyName + '</p>' );
document . write( '<p>' + objectName . propertyName + '</p>' );
</script>
↓↓↓出力結果↓↓↓
ブラケット表記法
<script type="text/javascript">
objectName = new Object();
objectName['propertyName'] = 'サンプル';
document . write( '<p>' + objectName['propertyName'] + '</p>' );
document . write( '<p>' + delete objectName['propertyName'] + '</p>' );
document . write( '<p>' + objectName['propertyName'] + '</p>' );
</script>
objectName = new Object();
objectName['propertyName'] = 'サンプル';
document . write( '<p>' + objectName['propertyName'] + '</p>' );
document . write( '<p>' + delete objectName['propertyName'] + '</p>' );
document . write( '<p>' + objectName['propertyName'] + '</p>' );
</script>
↓↓↓出力結果↓↓↓
配列の要素を削除
<script type="text/javascript">
var sampleArray = new Array ( 'A', 'B', 'C', 'D', 'E' );
delete sampleArray[2];
document . write( sampleArray );
</script>
var sampleArray = new Array ( 'A', 'B', 'C', 'D', 'E' );
delete sampleArray[2];
document . write( sampleArray );
</script>
↓↓↓出力結果↓↓↓
「false」を返す例
削除禁止のプロパティを削除しようとすると、削除に失敗し、「false」を返す。
<script type="text/javascript">
objectName = new Object();
objectName . propertyName = 'サンプル';
Object . freeze( objectName );
document . write( '<p>' + objectName . propertyName + '</p>' );
document . write( '<p>' + delete objectName . propertyName + '</p>' );
document . write( '<p>' + objectName . propertyName + '</p>' );
</script>
objectName = new Object();
objectName . propertyName = 'サンプル';
Object . freeze( objectName );
document . write( '<p>' + objectName . propertyName + '</p>' );
document . write( '<p>' + delete objectName . propertyName + '</p>' );
document . write( '<p>' + objectName . propertyName + '</p>' );
</script>
↓↓↓出力結果↓↓↓