请问我在typescript看到一种语法,请问跟map有什么区别

let currentStudent = ‘’;
let scores = {[currentStudent] : 0}
currentStudent = “charlie”;
scores[“charlie”] = 1;
cc.log("charlie point : " + scores[“charlie”]); // 输出1

想问这个scores的写法跟Map是同样功能对吧? 有区别吗?

按我的理解
let currentStudent = ‘’;
let scores = {[currentStudent] : 0}
scores 里面的 [currentStudent] 其实取的是 window.currentStudent的值

这跟map是两码事 可以搜索下js中map和普通对象的区别

这里的 scores 就是一个 map

let currentStudent = ‘’;
let scores = {[currentStudent] : 0}

[currentStudent] 作为 key 的时候,就是说,key是一个变量,现在的 scores 值应该是

{ "" : 0 }

currentStudent = “charlie”; 这句跟 scores 已经没关系了。

scores[“charlie”] = 1;

就是普通 map 赋值。
结果是

{"": 0, charlie: 1}

另外:
这个不是 ts 语法,js 就有

是对象吧 不是map吧

是对象,这样他不是好理解么。。

原来是对象,去查了关键字,感谢! 网上有些map跟普通对象差异的文章

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。