2016-09-13 3 views
1

Я получаю сообщение об ошибке «не могу найти имя карты» в машинописном тексте.Класс карты в машинописи давая ошибку

var myMap = new Map(); 

var keyString = "a string", 
    keyObj = {}, 
    keyFunc = function() {}; 

// setting the values 
myMap.set(keyString, "value associated with 'a string'"); 
myMap.set(keyObj, "value associated with keyObj"); 
myMap.set(keyFunc, "value associated with keyFunc"); 

myMap.size; // 3 

// getting the values 
myMap.get(keyString); // "value associated with 'a string'" 
myMap.get(keyObj);  // "value associated with keyObj" 
myMap.get(keyFunc);  // "value associated with keyFunc" 

myMap.get("a string"); // "value associated with 'a string'" 
         // because keyString === 'a string' 
myMap.get({});   // undefined, because keyObj !== {} 
myMap.get(function() {}) // undefined, because keyFunc !== function() {} 

Я не понимаю, почему это не считая его

кроме того, мы имеем Map в JavaScript

Любая помощь будет оценена.

ответ

0

Map является частью ES6, так что вам нужно «цель» ES6 для того, чтобы это работало.


В машинопись 2 вы можете держать таргетинг ES5 и включают в себя необходимые АФИ Lib вариант:

"compilerOptions": { 
    "lib": ["es5", "es2015.collection"] 
} 

Подробнее here.

+0

Что вы подразумеваете под целевым ES6. Не могли бы вы объяснить это кратко –

+1

, если вы используете _tsconfig.json_ - put '" target ":" es6 "' in '" compilerOptions "' –