在ES6中解析赋值与对象属性访问

时间:2018-01-07 12:23:04

标签: javascript html node.js ecmascript-6

var bmw = cars.bmwvar {bmw} = cars之间有什么区别?哪种方式更好?

var cars = {
    bmw: "M3",
    benz: "c250"
}

var bmw = cars.bmw // M3
var {bmw} = cars // M3

我看到人们在Nodejs中这样做。它是一回事吗?

var {ObjectId} = require('mongodb')
var ObjectId = require('mongodb').ObjectID;

1 个答案:

答案 0 :(得分:9)

bmw = cars.bmw上,您将对象属性分配给变量,而var {bmw} = cars将对象解构为给定变量列表。

结果没有区别(在您的情况下),bmw将具有所需的M3值。

此外,在对对象进行解构时,你可以列出几个变量来分配,而= 1对1 赋值,其中正确的部分正在分配到左侧

您也可以在解密时重命名变量,如

const { bmw: BeeMWee } = cars;