console.* API

Browser Console

Các trình duyệt web có cái gọi là console: môi trường dòng lệnh cho phép bạn thông dịch từng lệnh và biểu thức JavaScript. Trong môi trường này bạn có thể in văn bản qua console.log(). Trong hầu hết trình duyệt bạn có thể bấm phím tắt F12 để mở console.

Mỗi dòng bắt đầu bằng một dấu nhắc >, sau đó bạn có thể chạy các lệnh và biểu thức, giá trị trả về của biểu thức nằm sau kí hiệu:

> 3 + 5
<· 8
> console.log('Hello!')
Hello!
<· undefined

Node.js REPL

REPL tương tự như console nhưng chạy với Node.js, không phải trình duyệt. Để truy cập REPL bạn cần cài đặt Node.js, sau đó trong Terminal gõ lệnh: node.

Cách sử dụng REPL khá giống console:

> 3 + 5
8
> console.log('Hello!')
Hello!
undefined
>

console.* API

Đối tượng console có nhiều phương thức, trong đó hai phương thức hay sử dụng nhất là:

  • console.log(): in thông tin
  • console.error(): in thông báo lỗi

console.log()

Có hai phiên bản của phương thức này:

console.log(...values: any[]): void
console.log(pattern: string, ...values: any[]): void

Phiên bản đầu tiên giúp in nhiều giá trị tới console:

console.log('abc', 123, true);
// Kết quả:
// abc 123 true

console.log() luôn in kết quả trên một dòng mới nên nếu không có đối số, nó in ra một dòng trống.

Phiên bản thứ hai cho phép thay thế giá trị vào một vị trí nào đó trong chuỗi pattern:

console.log('Test: %s %j', 123, 'abc');
// Kết quả:
// Test: 123 "abc"

Các chỉ dẫn bắt đầu bằng % và có một số chỉ dẫn sau:

  • %s: chuyển giá trị thành chuỗi và chèn chuỗi này vào đúng vị trí của nó.
console.log('%s %s', 'abc', 123);
// Kết quả:
// abc 123
  • %o chèn một chuỗi biểu diễn đối tượng vào vị trí của nó.
console.log('%o', { foo: 123, bar: 'abc' });
// Kết quả:
// { foo: 123, bar: 'abc' }
  • %j chuyển giá trị thành chuỗi JSON và chèn vào vị trí của nó.
console.log('%j', { foo: 123, bar: 'abc' });
// Kết quả:
// {"foo":123,"bar":"abc"}
  • %% chèn vào đó kí hiệu phần trăm %.
console.log('%s%%', 99);
// Kết quả:
// 99%

console.error()

console.error() làm việc tương tự như console.log(), nhưng cái mà in ra là thông tin về lỗi.