我已经看到了这种语法,但不确定其基本功能。
我目前的假设是,它检查参数是否为!= null
和is in the return
。
fn = function(value) {
return {
1: 'Test1',
2: 'Test2'
}[value];
}
fn()
导致undefined
fn(1)
导致Test1
fn(2)
导致Test2
fn(3)
导致undefined
我不确定我的假设。有人可以澄清一下并告诉我此语法构造的名称是什么(它有一个特定的名称)吗?
编辑:我是从随机上下文中看到它的,那里没有意识到它基本上只是在访问它。谢谢!
最佳答案
它不检查任何东西。
您有一个对象文字。
{
1: 'Test1',
2: 'Test2'
}
使用方括号符号从中提取值
(result of evaluating previous expression)[value]
然后返回结果
return (result of evaluating previous expression)
您可以将其重写为:
fn = function(value) {
var data = {
1: 'Test1',
2: 'Test2'
};
var return_value = data[value];
return return_value;
}
关于javascript - JS中返回后方括号的含义-fn(){return {} []},我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29419258/