在对象赋值解构Javascript中使用冒号

Posted

技术标签:

【中文标题】在对象赋值解构Javascript中使用冒号【英文标题】:Use of Colon in object assignment destructuring Javascript 【发布时间】:2019-01-28 06:02:54 【问题描述】:

使用 React.js 和 React 路由器

import React,  Component  from 'react';

const PrivateRoute = ( component: Component, ...rest ) => (
  <Route ...rest render= />
)

* component: Component, ...rest *

..rest 是使用扩展语法,但 *component: Component* 是做什么的

【问题讨论】:

它创建了一个对象。它将从 react 导入的 Component 类分配给新创建的对象中的键 component。 IE。 const newObj = component: ComponentClass 【参考方案1】:

在 ES6 中,这会将值分配给一个名为 foo 的新变量

let obj = 
  name: 'Some Name',
  age: '42',
  gender: 'coder'
;
let  name: foo, ...rest  = obj;
console.log(foo, rest) //  foo: 'Some Name', rest:  age: 42, gender: 'coder'  
//

在这种情况下,name 将不会被定义

见assigning to new variable names

【讨论】:

是“foo”键“name”的新值还是“name”的新键名?令人困惑。 @vikramvi 这里的 foo 将是一个包含值“Some Name”的变量。

以上是关于在对象赋值解构Javascript中使用冒号的主要内容,如果未能解决你的问题,请参考以下文章

JS对象解构

Javascript 对象解构赋值是不是使用 const、let 或 var?

ES6对象的新功能与解构赋值

35.JavaScript对象和数组的解构赋值基础详解let陷阱函数参数解构

JavaScript ES6 - 解构赋值

JavaScript ES6 - 解构赋值