js_解构赋值_对象解构/解构对象语句的调试
程序员文章站
2022-03-04 23:41:29
...
文章目录
解构对象
相关知识:
解构对象 (mozilla.org)
调试
给新的变量命名并提供默认值
一个属性可以同时 1)从一个对象解构,并分配给一个不同名称的变量 2)分配一个默认值,以防未解构的值是 undefined。
为了方便调试,您可以将默认值设定为具有特别含义的字符串或者数值,可以帮助你定位到问题发生的地方,也有助于程序运行下去!
这里,aa
作为被解构对象的属性名a
的一个别名,语法如下
var {a:aa = 10, b:bb = 5} = {a: 3};
console.log(aa); // 3
console.log(bb); // 5
代码示例
egg.js 后端的一段解构代码
// this.ctx.body = "hellp jwt";
const { ctx, app } = this;
console.log(app, `@app`);
console.log(ctx, `@ctx`);
/* 结构语法的不当使用(一种常见的错用形式就是,和成员访问运算符混合使用,导致被解构对象出现偏差)
例如,已知,app对象中存在有一个属性jwt,现在你需要将他复制给一个变量以便后续的多次引用.*/
// const { jwt } = app.jwt;
// const{jwt}=app;
//为解构变量赋值以默认值(有明确特定意义的字符串)
const { jwt: appJwt = `deconstruct app.jwt` } = app;
const { jwt: confJwt = `deconstruct app.config.jwt` } = app.config;
// console.log(app.jwt, `@app.jwt`);
console.log(appJwt, `@appConfig`);
console.log(confJwt, `@confJwt`);
const user = {
username: "cxxu"
};
const token = appJwt.sign(user, confJwt.secret);
上一篇: js数组、对象解构,对象解构赋值
下一篇: js中对象解构赋值