JavaScript对象解构时如何修改键名?解决别名赋值无效问题
解构对象时重命名属性的正确方式
先看你提供的代码:
function splitWord(sql1) { let sql = sql1.split(" ")[0]; let clo = sql1.split(" ")[1]; return {sql , clo} } let {sql2 = sql , cl = clo} = splitWord("hello world!"); console.log(sql2 , cl)
你这里的问题是混淆了解构赋值的默认值语法和重命名语法:用=是给变量设置默认值,而非重命名对象属性。要实现属性重命名,必须使用原属性名: 新变量名的格式。
正确写法
function splitWord(sql1) { let sql = sql1.split(" ")[0]; let clo = sql1.split(" ")[1]; return {sql , clo} } // 用冒号实现重命名:原属性名: 新变量名 let {sql: sql2, clo: cl} = splitWord("hello world!"); console.log(sql2 , cl) // 输出: hello world!
如果需要同时给重命名后的变量设置默认值,可以这样写:
// 重命名+默认值 let {sql: sql2 = 'defaultSql', clo: cl = 'defaultCl'} = splitWord("hello world!");
内容的提问来源于stack exchange,提问作者kishore pantra
相关产品推荐
相关产品推荐

