Javascript 我无法识别的对象语法
Javascript object syntax that I can't recognize
我有这个代码片段:
proxy('http://my-custom-api-endpoint.com', {
proxyReqOptDecorator(options) {
options.headers['x-forwarded-host'] = 'localhost:3000'
return options
}
})
它是对一个名为 proxy 的函数的调用,第一个参数是一个字符串,但第二个参数的语法我无法识别:
{
functionName(args) {
// statements
}
}
有人可以解释一下这个语法吗?
它是 Object Initializer 中的一个 shorthand 方法,用于创建一个 属性 其值是一个函数。
// Shorthand method names (ES2015)
let o = {
property(parameters) {}
}
//Before
let o = {
property: function(parameters) {}
}
此语法也在 classes 中用于声明 class 方法。
class Animal {
speak() {
return this;
}
static eat() {
return this;
}
}class Animal {
speak() {
return this;
}
eat() {
return this;
}
}
我有这个代码片段:
proxy('http://my-custom-api-endpoint.com', {
proxyReqOptDecorator(options) {
options.headers['x-forwarded-host'] = 'localhost:3000'
return options
}
})
它是对一个名为 proxy 的函数的调用,第一个参数是一个字符串,但第二个参数的语法我无法识别:
{
functionName(args) {
// statements
}
}
有人可以解释一下这个语法吗?
它是 Object Initializer 中的一个 shorthand 方法,用于创建一个 属性 其值是一个函数。
// Shorthand method names (ES2015) let o = { property(parameters) {} }
//Before
let o = {
property: function(parameters) {}
}
此语法也在 classes 中用于声明 class 方法。
class Animal { speak() { return this; } static eat() { return this; } }class Animal { speak() { return this; } eat() { return this; } }