AOr*_*ona 2 javascript python dictionary
在python中,我可以将任何对象用作字典键(7,“ hello”,无):
例如
myDict = {}
x = someObject()
myDict[x] = "world"
Run Code Online (Sandbox Code Playgroud)
但是我不能使用未绑定的标识符。给出另一种语言的示例,其中标识符成为对象的属性(JavaScript)
x = { y : "hello" };
Run Code Online (Sandbox Code Playgroud)
为什么不支持将未绑定标识符用作密钥?在字典范围内或封闭范围内定义此绑定不是很简单吗?
在Python中,对象文字中的键是要求值的表达式。如果您尝试使用未分配的变量,则它将收到错误,就像在其他任何使用该变量一样。
在JavaScript中,默认情况下不评估对象文字中的键。当你写
{j: "hello"}
Run Code Online (Sandbox Code Playgroud)
它被视为
{"j": "hello"}
Run Code Online (Sandbox Code Playgroud)
不管是否j有值,它始终被视为文字。
仅供参考,EcmaScript 6添加了一种使用方括号评估密钥的方法。具有可变键的Python字典的等效项为:
{ [j]: "hello" }
Run Code Online (Sandbox Code Playgroud)
如果未声明该变量,则会出现错误。
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |