TypeScript - シンボル

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

1. 概要

シンボルの使い方です。
連想配列のキーや、メソッド名などでも使えます。

2.1 サンプル

const Name = Symbol();
const Age  = Symbol();

let obj = { Age: 0, Msg: "" };
obj[Name] = "Taro";
obj[Age]  = 5;
obj.Age   = 10;
obj.Msg   = "Hello";

console.log(obj[Name]); //Taro
console.log(obj[Age]);  //5
console.log(obj.Age);   //10

//シンボルのプロパティは出力されない
for (let prop in obj) {
	console.log(prop); //Age  
	//Msg
}

2.2 サンプル

const add = Symbol();

class Test {
	//シンボルでメソッドを定義できる
	[add](value1: number, value2: number): number {
		return value1 + value2;
	}
}

let obj2 = new Test();
console.log( obj2[add](1, 2) ); //3