我是第一次看到这种语言功能。这使您可以直接将值分配给变量,其名称保存在tableView.estimatedRowHeight = 120 // initial height to help auto-layout such as current cell height in xib
tableView.rowHeight = UITableViewAutomaticDimension
(也为MarkerDest
)中。到目前为止,我会这样做:"MarkerDest"
那您怎么称呼此JavaScript语言功能?
markers[MarkerDest] = ...
答案 0 :(得分:3)
它称为计算出的属性名称。
来源:
答案 1 :(得分:1)
这里有几个新功能。
第一行使用解构赋值从对象中声明值(或者可以从数组中声明值)。您可以在MDN上详细了解它:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
将变量用作下一个对象的属性的第二部分称为计算属性,其中变量用作对象内的键。
答案 2 :(得分:0)
这是ECMAScript 6中的一项新功能,称为 Computed Property Names 。它允许您使用类似于property accessors的括号([ ])
中的表达式来动态创建属性名称。
示例:
let obj = {
foo: "bar",
[ "baz" + quux() ]: 42
}
var obj = {
foo: "bar"
};
obj[ "baz" + quux() ] = 42;
您可以阅读MDN Object initializer和MDN Destructuring assignment的更多内容,以真正了解两者的工作原理。