set演算子

set演算子とは、オブジェクトのプロパティに、プロパティ設定時に呼び出す関数をバインドする演算子。

オブジェクトのプロパティに値を設定しようとしたときに、バインドした関数を呼び出すことができる。

get演算子と組み合わせて使うことが多い。

構文

var オブジェクト名 = {
    set プロパティ名( 仮引数 ){
        // プロパティ設定時に呼び出す処理文
    }
};

「オブジェクト名」のオブジェクトの「プロパティ名」のプロパティに、オブジェクト名 . プロパティ名 =で値を設定しようとすると、「プロパティ設定時に呼び出す処理文」を実行する。プロパティに設定しようとした値は、仮引数で受け取ることができる。

サンプル1

<script type="text/javascript">
var objA = {
    set propA( num ) {
        this . propB = num;
        this . propC = num * 0.05;
        this . propD = num * 1.05;
    }
}
objA . propA = 100;
document . write( "<p>税込金額:" + objA . propD + "円</p>" );
document . write( "<p>消費税:" + objA . propC + "円</p>" );
document . write( "<p>税抜金額:" + objA . propB + "円</p>" );
</script>

↓↓↓出力結果↓↓↓

サンプル2

get演算子とset演算子の併用。

<script type="text/javascript">
var objB = {
    _propA : "初期設定値",
    get propA(){
        return this . _propA;
    },
    set propA( str ) {
        this . _propA = str;
    }
}
document . write( "<p>objB . propA: " + objB . propA + "</p>" );
objB . propA = "後から設定した値";
document . write( "<p>objB . propA: " + objB . propA + "</p>" );
</script>

↓↓↓出力結果↓↓↓

スポンサード リンク

カテゴリー: JavaScript, リファレンス, 演算子 タグ: パーマリンク