这是一个更广泛的示例:
let someVariable = 1;
return {
'Example String': 'example_string',
'Example String 2': 'example_string_2'
}[someVariable];
答案 0 :(得分:4)
这意味着您正在访问对象中该特殊键的值 例如:
someVariable = 'Example String';
{
'Example String': 'example_string',
'Example String 2': 'example_string_2'
}[someVariable];
以上代码将输出:
example_string
答案 1 :(得分:2)
以您发布的代码作为示例来说明您的观点(应在实际应用中对其进行修改;请参见下面的工作片段)
它返回与键关联的值,该值等于对象中someVariable
的值
{'Example String': 'example_string', 'Example String 2': 'example_string_2'}
。
在这种情况下,它将返回undefined
,因为此对象中没有名称为1
(someVariable
)的键。
但是如果someVariable
例如'Example String'
,它将返回example_string
。在下面看到它:
let someVariable = 1;
function getValue(key) {
return {
'Example String': 'example_string',
'Example String 2': 'example_string_2'
}[key]
}
console.log(getValue(someVariable));
console.log(getValue('Example String'));
答案 2 :(得分:0)
您的示例将返回engine = create_engine("mssql+pyodbc://user:password@DSNSTRING")
,但是如果undefined
等于someVariable
,它将返回'Example String'
。
答案 3 :(得分:-1)
稍微重写一下可能会更容易理解:
let someVariable = 1;
let someObject = {
'Example String': 'example_string',
'Example String 2': 'example_string_2'
};
return someObject[someVariable];
它尝试返回对象的“索引” 1
,这当然是行不通的(因为对象没有索引)。