get演算子とは、オブジェクトのプロパティに、プロパティ参照時に呼び出す関数をバインドする演算子。
オブジェクトのプロパティを参照しようとしたときに、バインドした関数を呼び出すことができる。
set演算子と組み合わせて使うことが多い。
構文
var オブジェクト名 = {
get プロパティ名(){
// プロパティ参照時に呼び出す処理文
}
};
get プロパティ名(){
// プロパティ参照時に呼び出す処理文
}
};
「オブジェクト名」のオブジェクトの「プロパティ名」のプロパティを、オブジェクト名 . プロパティ名
で参照しようとすると、「プロパティ参照時に呼び出す処理文」を実行する。
サンプル1
<script type="text/javascript">
var objA = {
get propA(){
return 3;
}
};
document . write( objA . propA + "<br />" );
</script>
var objA = {
get propA(){
return 3;
}
};
document . write( objA . propA + "<br />" );
</script>
↓↓↓出力結果↓↓↓
サンプル2
<script type="text/javascript">
var objB = {
_propA : 3,
get propA(){
return this . _propA;
}
};
document . write( objB . propA + "<br />" );
</script>
var objB = {
_propA : 3,
get propA(){
return this . _propA;
}
};
document . write( objB . propA + "<br />" );
</script>
↓↓↓出力結果↓↓↓
サンプル3
get演算子とset演算子の併用。
<script type="text/javascript">
var objC = {
_propA : "初期設定値",
get propA(){ return this . _propA; },
set propA( num ) {
this . _propA = num;
}
}
document . write( "<p>objC . propA: " + objC . propA + "</p>" );
objC . propA = "後から設定した値";
document . write( "<p>objC . propA: " + objC . propA + "</p>" );
</script>
var objC = {
_propA : "初期設定値",
get propA(){ return this . _propA; },
set propA( num ) {
this . _propA = num;
}
}
document . write( "<p>objC . propA: " + objC . propA + "</p>" );
objC . propA = "後から設定した値";
document . write( "<p>objC . propA: " + objC . propA + "</p>" );
</script>
↓↓↓出力結果↓↓↓