为你解析Javascript 中的解构赋值语法
数组解构非常简单。你所要做的就是为数组中的每个值声明一个变量。你可以定义更少的变量,而不是数组中的索引(即,如果你只想解处理前几个值),请跳过某些索引或甚至使用 REST 模式将所有剩余的值放到新数组中。 const nums = [ 3, 6, 9, 12, 15 ]; const [ k, // k = 3 l, // l = 6 , // Skip a value (12) ...n // n = [12, 15] ] = nums; 对象解构对象解构与数组解构非常相似,主要区别是可以按名称引用对象中的每个key,从而创建一个有相同名称的变量。此外还可以将键解构为新的变量名,只解构所需的 key,然后用 rest 模式将剩余的 key 解构为新对象。 const obj = { a: 1, b: 2, c: 3, d: 4 }; const { a, // a = 1 c: d, // d = 3 ...rest // rest = { b: 2, d: 4 } } = obj; 嵌套解构嵌套对象和数组可以通过相同的规则来进行解构。区别在于可以将嵌套 key 或值直接解构为变量,而不必将父对象存储在变量本身中。 const nested = { a: { b: 1, c: 2 }, d: [1, 2]}; const { a: { b: f, // f = 1 ...g // g = { c: 2 } }, ...h // h = { d: [1, 2]} } = nested; 高级解构由于数组的行为与对象相似,所以可以通过使用索引作为对象解构分配中的 key,用解构分配语法从数组中获取特定值。用这种方法还可以得到数组的其他属性(例如数组的 length)。最后,如果解构后的值是 undefined,则还可以为解构过程中的变量定义默认值。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |