在JavaScript中,使用带有横线(-
)的变量名是合法的,但是在解构对象时如果变量名包含横线,你需要使用对象的属性名来进行解构,而不是变量名。
例如,如果你有以下对象:
const person = {
firstName: 'John',
last-name: 'Doe' // 假设这是一个有效的属性名
};
要解构这个对象,你需要使用属性名而不是变量名:
//方法一
const { 'last-name': lastName } = person;
//方法二
const { ['last-name']: lastName } = person;
这样,你就可以用符合命名规范的lastName
变量来访问person
对象的last-name
属性了。如果你尝试使用带有横线的变量名直接解构,会导致语法错误。