javascript - 还有什么是规范的 javascript,console.log

标签 javascript node.js typescript

我最近开始使用 typescript 并查看了一些我最喜欢的 repos,我看到人们在 console.log 中使用反引号作为模板字符串。 .这对我来说似乎很奇怪,但我对规范 javascript 总体上缺乏经验。对我来说,console.log已经通过在注释之间添加空格来提供格式化机制。为什么要使用模板字符串?性能更好吗?

例子:

// set list of items
function printMyItems(item1, item2) {
    // What I have been doing
    console.log(item1, item2);

    // What I have seen
    console.log(`${item1} ${item2}`);
}

// Also variadic arguments seem to work better with the former approach.
function printMyItems(...args) {
    // What I have been doing
    console.log(...args);

    // Should I do this instead?
    console.log(`${...args}`);
}

感谢您花时间和精力阅读这篇文章。我希望我已经说清楚了。

最佳答案

当涉及到对象时,这两种实现之间实际上存在明显差异:

var test = {a: 1};
console.log(`${test}`);
test.a = 99;
console.log(`${test}`);

var test2 = {a: 1};
console.log(test2);
test2.a = 99;
console.log(test2);



var test1 = {a: 1};
var test2 = {b: 99};
console.log(`${test1}` == `${test2}`)
console.log(test1 == test2)

关于javascript - 还有什么是规范的 javascript,console.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62253486/

相关文章:

javascript 在自己的工作表上

javascript - 如何在模型属性中查询同一模型的对象

node.js - 使用node.js查询mongoDB的特定字段

typescript - TypeScript 0.9 搞砸了 JQuery 定义

javascript - 过滤管道总是记录未定义的

javascript - Typescript 接口(interface)未捕获类型错误 : Cannot set property

javascript - setTimeout 不适用于中型负数

javascript - 我如何从 dc.js 行图表中删除空条,每当维度为 null 或空时,行图表上会出现一个空条

javascript - 使用 Ramda,你如何针对二进制函数进行组合?

node.js - Dust.js 部分新手