javascript メソッド名に変数を使用する

javascript メソッド名に変数を使用する

javascriptで、ES6(ECMAScript 2015)からメソッド名にfunction句を使用せずに良くなったので、それを利用してメソッド名を変数で指定する方法を記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 103.0.5060.134

変数でメソッド名を指定

以下のように、予め用意した変数をメソッド名として利用することが可能です。

const a = 'get', b = 'Name', c = 'Age';

class Hoge {

  [a + b]() {
    console.log('mebee');
  }

  [a + c]() {
    console.log('25');
  }

};

const hoge = new Hoge();

hoge.getName();  //mebee
hoge.getAge();  //25

‘use strict’を指定してもエラーにはなりません。

以下のように、オブジェクトに関数を使用しても同様の結果を得られます。

const a = 'get', b = 'Name', c = 'Age';

const hoge = {

  [a + b]() {
    console.log('mebee');
  },

  [a + c]() {
    console.log('25');
  }

};

hoge.getName();  //mebee
hoge.getAge();  //25