JavaScript 目次 - ray88’s diary
JavaScript Objectオブジェクト - ray88’s diary
JavaScript Objectオブジェクト・サンプルコード - ray88’s diary
■プリミティブ値であれば定数に格納することでその値を変更できないようにできるが、オブジェクトを定数に格納した場合、再代入はできないがそのプロパティの追加や値は変更できる。Objectオブジェクトのメンバーを用いることでこれらの制御が可能。
※プリミティブ値とは 数値、文字列、倫理値、null、undefined
■freezeメソッド
オブジェクトを凍結するメソッド。引数に指定したオブジェクトのプロパティの全ての変更ができないようにする
【構文】
Object.freeze(オブジェクト)
■sealメソッド
オブジェクトを封印するメソッド。引数に指定したオブジェクトのプロパティの追加や削除を行えないようにする
新たなプロパティの追加はできないがプロパティ値の変更は可能。
【構文】
Object.seal(オブジェクト)
■サンプルコード
function myFunction(){ const person = {name:'Bob',age:25}; //sealメソッドでプロパティの追加や削除を制限(プロパティ変更は可) Object.seal(person); person.name = 'Tom'; //sealで封印されているためプロパティ追加はされない person.favorite = 'banana'; console.log(person);//{name:'Tom',age:25} //freezeメソッドで凍結するため、一切の変更は不可 Object.freeze(person); person.name = 'Ivy'; person.favorite = 'Orange'; console.log(person);//{name:'Tome',age:25} }