TypeScript - 文字列によるメソッド名の定義と呼び出し

公開日:2019-02-11 更新日:2019-05-14

1. 概要

文字列により、メソッド名の定義と呼び出しを行います。

2. サンプル

//文字列によるメソッド名の定義と呼び出し
class Test {
	test1()     { return 1; }
	
	"test2"()   { return 2; }
	
	["test3"]() { return 3; }
}

let obj = new Test();

console.log(obj.test1());    //1
console.log(obj["test1"]()); //1

console.log(obj.test2());    //2
console.log(obj["test2"]()); //2

//[文字列]で定義したメソッドは、実行はできるが、
//インテリセンス(入力支援)の候補に出てこない
console.log(obj.test3());    //3
console.log(obj["test3"]()); //3

//変数でメソッド名を指定することもできる
let methodName = "test1";
console.log(obj[methodName]()); //1