使用console.log打印数据的小技巧

131 阅读1分钟

在调试 JavaScript 应用程序时,人们可能经常使用 console.log 来打印数据,这样在出现问题时便于调试,同时也有助于理解数据流。打印变量的常见方式如下:

let user = {
    name: "test"
};

console.log(user);

在这种情况下,它将打印:

{ name: 'test' }

如果没有大量的日志记录或者程序不复杂,这样做没问题。但如果要打印很多变量,由于没有明确指示是哪个变量或对象,调试就会变得困难。 所以在这种情况下,在编写 console.log 语句时可以添加一些额外的日志记录。

let user = {
    name: "test"
};

console.log("user: " + user);

然而,运行代码后,结果会令人失望,因为它没有打印出预期的内容,user 变量只打印出了一些类型信息,而不是实际的属性及其值。

user: [object Object]

有没有一种更好的记录对象的方法,而不用编写复杂的代码来循环遍历对象并逐个记录每个属性呢?是的,有。实际上,如果我们把变量放在花括号{}里并打印,我们会看到一些有用的东西。

let user = {
    name: "test"
};

console.log({user});

输出将如下所示:

{ user: { name: 'test' } }

其工作原理是,它实际上创建了一个新对象,并尝试打印这个对象,其中属性名是变量名,值是变量本身。这样可读性就强多了。而且它可以以可读的方式打印未定义(undefined)或空(null)变量。

let user = undefined;
console.log({user});

let user = null;
console.log({user});

输出为:

{ user: undefined }
{ user: null }

希望这在你调试 JavaScript 时会有所帮助。