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],即看不到对象的属性.

posted @ 2024-03-09 18:12  xuchaoxin1375  阅读(16)  评论(0)    收藏  举报  来源