代码:
var nameSiteMapping = new Map();
// 设置 Map 对象
nameSiteMapping.set("Google", 1);
nameSiteMapping.set("Runoob", 2);
nameSiteMapping.set("Taobao", 3);
// 获取键对应的值
console.log(nameSiteMapping.get("Runoob")); // 2
// 判断 Map 中是否包含键对应的值
console.log(nameSiteMapping.has("Taobao")); // true
console.log(nameSiteMapping.has("Zhihu")); // false
// 返回 Map 对象键/值对的数量
console.log(nameSiteMapping.size); // 3
// 删除 Runoob
console.log(nameSiteMapping["delete"]("Runoob")); // true
console.log(nameSiteMapping);
// 移除 Map 对象的所有键/值对
nameSiteMapping.clear(); // 清除 Map
console.log(nameSiteMapping);
错误截图
Found 1 error.
PS D:\startProject\TypeScript> tsc 01.ts
01.ts:163:27 - error TS2583: Cannot find name 'Map'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2015' or later.
163 let nameSiteMapping = new Map();
~~~
Found 1 error.
PS D:\startProject\TypeScript> node 01.js
2
true
false
3
true
Map(2) { 'Google' => 1, 'Taobao' => 3 }
Map(0) {}
PS D:\startProject\TypeScript>
解决方案:
版本的问题,修改tsconfig.json.
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es6", //把es5改成es6
"jsx": "react"
},
"include": [
"./src/**/*"
]
}