Javascript 创建具有相同字段的对象的速记
有没有一种方法可以将Javascript 创建具有相同字段的对象的速记,javascript,ecmascript-6,Javascript,Ecmascript 6,有没有一种方法可以将{a:1}传递到函数中 const json = { a: 1, b: 2, c: "HI" } 我不确定ES6的解构/构造是否解决了这个问题。在阅读了几个ES6解构示例之后,我似乎找不到正确的语法 编辑 代码没有问题,我只是想问,是否有语法只从JSON中提取“a”,而不进行冗余操作 {a:json.a} AOOnly函数的实现不是这里的重点您可以对作为参数传递的对象使用ES6对象分解来选取特定属性 const json={ 答:1,, b:2, c:“你好”
{a:1}
传递到函数中
const json = {
a: 1,
b: 2,
c: "HI"
}
我不确定ES6的解构/构造是否解决了这个问题。在阅读了几个ES6解构示例之后,我似乎找不到正确的语法
编辑
代码没有问题,我只是想问,是否有语法只从JSON中提取“a”,而不进行冗余操作
{a:json.a}
AOOnly函数的实现不是这里的重点您可以对作为参数传递的对象使用ES6对象分解来选取特定属性
const json={
答:1,,
b:2,
c:“你好”
}
函数AOOnly({a}){
返回a;
}
var someReturn=aoonly(json);
log(someReturn)
谢谢,我找到了正确的语法。我最初犯的错误是试图直接使用{json.a}
进行构造,希望这会自动变成{a:json.a}
,但正确的方法是先进行析构函数,然后再进行构造
var json={
答:“ASDF”,
b:123,
c:“测试”
};
常量{a,b,c}=json;//自毁
var aObject=aoonly({a});//建造
var-bObject=bOnly({b});
var cObject=cOnly({c});
console.log(aObject);
console.log(bObject);
console.log(cObject);
函数aoonly(a){返回a;}
函数bOnly(b){返回b;}
函数cOnly(c){return c;}
在你的例子中,你想要什么返回到相等的值/你只想要什么返回?我的意思是。。。你给了我一个选择。怎么了?它很容易阅读、清理等。@KevinB没有错:)奇怪的是有ES6语法来缩短{a:json.a}
const{a}=json的提取;a仅({a})代码>但是。。。这并不比你目前所做的短,在我看来也不容易理解(除非你已经从其他地方的解构json
中受益)@KevinB谢谢!我只是自己贴出答案。我知道我现在做错了什么。是的,这就是我想问的:P但是没有将函数aoonly(a){
修改为函数aoonly({a}){
有没有一种方法可以只从函数调用“构造”a?例如var someReturn=aoonly({json.a})
或者类似的东西?
var someReturn = aOnly({a : json.a});