Mat*_*att 38 javascript ecmascript-6
从ES6开始,JavaScript有一个合适的Map对象.我没有看到使用文字符号的方法,就像使用数组或对象一样.我错过了,还是不存在?
阵: var arr = ["Foo", "Bar"];
宾语: var obj = { foo: "Foo", bar: "Bar" };
地图:???
Ber*_*rgi 40
不,ES6没有Maps或Sets 的文字符号.
您将不得不使用它们的构造函数,传递一个iterable(通常是一个数组文字):
var map = new Map([["foo", "Foo"], ["bar", "Bar"], …]);
var set = new Set(["Foo", "Bar", …]);
Run Code Online (Sandbox Code Playgroud)
有一些提议要为语言添加新的文字语法,但没有一个提到ES6(我个人不相信他们会在未来的任何版本中使用它).
它就像一个HashMap - 没有文字版本.你必须像构造函数一样定义它.
您可以阅读本主题,其中讨论了地图文字,以及为什么要添加它们.这基本上是其他关于Map文字的潜在提案.我个人不能预见ES7中的字面语法,因为地图很容易使用 - 但在将来的提案中可能会应用语法糖.
使用octothorp(散列)来讨论可能的文字符号的示例,如下所示:
const myMap = Map#{expression("derp"): value("herp")};
Run Code Online (Sandbox Code Playgroud)
有一种方法可以做到这一点,就像我们使用文字一样
const fruits = new Map(Object.entries({apples: 1, bananas: 2}))
| 归档时间: |
|
| 查看次数: |
8603 次 |
| 最近记录: |