js_插值/模板字符串与对象的打印
reference
模板字符串 - JavaScript | MDN (mozilla.org)
插入表达式
对于多行字符串的表示以及包含简单表达式值的打印,使用模板字符串是一个好的选择
打印对象
打印对象的时候,就不太适合使用模板字符串
const obj = {
name: "name1",
age: "11"
};
const { name, age } = obj;
console.log(obj, ` 😎print by console.log singly(seperate by comma)`);
console.log(`${obj} @it is not what you want generally`);
console.log(`${obj.toString()}`);
console.log(`name:${name};\tage:${age}\t😎this is waht you want by interpolation`);
/* summary */
/* 调试的时候主要借助于非插值来检查对象 */
打印结果
PS D:\repos\web\js> node "d:\repos\web\js\testjs\printObj.js"
{ name: 'name1', age: '11' } 😎print by console.log singly(seperate by comma)
[object Object] @it is not what you want generally
[object Object]
name:name1; age:11 😎this is waht you want by interpolation
小结:
在做调试的时候(尤其是打印某些复杂值的时候,模板字符串太合适直接答应对象,如果要用模板字符串,那么尝试对对象进行结构,然后再用
但是往往,我们不确定对象中的属性有哪些,所以使用逗号分隔打印会更加管用)
此外,打印对象所有属性时,不应该通过+和将字符串和要被解构打印的对象直接相加.
例如,egg.js中的ctx.body在赋值的时候,可以赋值给body属性某个对象,也可以时某个值
但是如果通过+或者+=多次赋值,那么其中的对象将化为[object object],即看不到对象的属性.

浙公网安备 33010602011771号