[Javascript]ECMA Script 6から追加するデータ型


コンポーネント(シンボル)


これはECMA Script 6から新しく追加された元の値です.構成部品はユニークな値であり、それ自体以外の値はありません.

構成部品の作成


Symbol()は呼び出すたびに新しい値を作成します.
var sym1 = Symbol();
var sym2 = Symbol();

console.log(sym1 === sym2); // false
また、Symbol()から返されるすべての構成部品の値は一意です.コンポーネント値は、オブジェクトプロセスの識別子として使用できます.
var NONE = Symbol('none');
var BLACK = Symbol('black');
var WHITE = Symbol('white');

cosole.log(NONE, BLACK, WHITE); // Symbol(none) Symbol(black) Symbol(white)
Symbol.for(キー)メソッドは、グローバルレジストリでキーが存在する構成部品を検索します.ない場合は、グローバル構成部品レジストリで適切なキーを使用して新しい構成部品を作成します.
Symbol.for('foo'); // 새로운 전역심볼 생성
Symbol.for('foo'); // 이미 만들어진 심볼을 검색

console.log(Symbol.for('bar') === Symbol.for('bar')); // true
console.log(Symbol('bar') === Symbol('bar')); // false

// 키는 설명하는데 쓰이기도 한다.
var sym = Symbol.for('mario');
sym.toString(); // "Symbol(mario)"
Symbol.keyFor(sym)メソッドは、構成部品のグローバル構成部品ツリーからキー値を返します.
const globalSym = Symbol.for('foo'); // global symbol
console.log(Symbol.keyFor(globalSym)); // expected output: "foo"

かたわく


テンプレートとは、一部を変更するだけで再利用または再利用できるフレームワークです.テンプレート文字を使用して、式の値を文字列に追加したり、複数行の文字列を表すことができます.
テンプレート文字はbacktic(`)を使用します.また、$とカッコ(${expression})でタグ付けできるプレースホルダを使用して式を挿入することもできます.表示ボックスの式は、その間のテキストとともに関数として渡されます.
console.log(`string text line 1
string text line 2`);

var a = 2, b = 3;
console.log(`${a} + ${b} = ${a+b}`); // 2 + 3 = 5;

var now = new Date();
console.log(`오늘은 ${now.getMonth()+1} 월 ${now.getDate()} 일 입니다.`); // 오늘은 4월 6일입니다.
文字列文字に改行文字を表す場合は、エスケープシーケンス(n)が使用されますが、テンプレート文字では通常の改行文字を使用できます.
Stringは、エスケープシーケンス文字をそのまま出力することができる.raw()メソッドを使用すればよい.
var str = String.raw`Hi\n${2+3}!`;
console.log(str); // Hi\n5!
[MDN - Symbol] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol )
[MDN - Template literals] ( https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Template_literals )