gpt4 book ai didi

javascript - 为什么 ECMASCRIPT 6 在解构时反转分配的边?

转载 作者:行者123 更新时间:2023-12-01 07:44:39 26 4
gpt4 key购买 nike

关闭。这个问题需要details or clarity .它目前不接受答案。












想改进这个问题?通过 editing this post 添加详细信息并澄清问题.


5年前关闭。







Improve this question




为什么 ES6 决定左侧赋值更有意义或对解构赋值更有用?乍一看,它似乎使代码更容易出错,现在分配可以在双方发生,具体取决于情况。

let obj = { first: 'Jane', last: 'Doe' };
let { first: f, last: l } = obj;
// f = 'Jane'
// l = 'Doe'

f 和 l 似乎都在左侧定义,使用左侧的 var 名称和右侧的这些 var 的值组合的值。

鉴于此语法的基本原理是保持它与对象声明语法相同,为什么 ECMA 不使用:
let { f: first, l: last } = obj;

最佳答案

因为它应该保留对象文字语法:属性名称位于冒号之前。语法应该是嵌套的,如果目标在左侧,那将无法正常工作:

let {propName: [arrayElement, ...moreElements], otherName: {nestedProp: targetName}} = obj;

在您的方法中,它将是
let {[arrayElement, ...moreElements]: propName, {targetName = nestedProp}: otherName} = obj;

冒号没有任何意义。

关于javascript - 为什么 ECMASCRIPT 6 在解构时反转分配的边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com