# Работа с типом Symbol ES6

В ES6 появился шестой примитивный тип данных, который называется Symbol. Он применяется для создания уникального напоминающего строку значения, которое не конфликтует ни с каким другим.

## Исходники кода

`//let sym = Symbol('optional description'); //let sym1 = Symbol('optional description'); //let sym2 = Symbol('optional description'); //console.log(sym1 === sym2); /* let sym = Symbol('optional description'); let obj = { a: 1, b: 2, c: 3, d: 4, [sym]: function() {alert('!')} }; //obj[sym] = function() {alert('!')}; console.log(obj[sym]); for (let key in obj) { console.log(obj[key]); } */ //obj[sym] = function() {alert('!')}; // well known symbols // Symbol.iterator //let lang = Symbol('lang') /* function func1() { let lang = Symbol.for('lang'); return lang; } function func2() { let lang = Symbol.for('lang'); return lang; } console.log(func1() === func2()); */ //let lang = Symbol.for('lang'); //console.log(Symbol.keyFor(lang)); //let obj = {1: 'пн', 2: 'вт', 3: 'ср'}; //obj[lang] = 'ru'; //console.log(obj[lang]); //for (let key in obj) { //console.log(obj[key]); //} /* let obj = { 1: 'пн', 2: 'вт', 3: 'ср', [lang]: 'ru', }; */`

## Смотрите также

- видео
  работа с итераторами и генераторами ES6

←→
↑