Cách sử dụng
- Viết code bên trái hoặc sửa ví dụ.
- Nhấn Chạy hoặc Ctrl+Enter (⌘+Enter trên Mac). Đầu ra console hiện bên phải.
- Nếu code chạy quá lâu, nhấn Dừng hoặc đặt giới hạn thời gian ở góc dưới bên phải.
Giải thích tùy chọn
- Môi trường
- Web Worker trong trình duyệt với cú pháp JavaScript mới nhất trình duyệt hỗ trợ, fetch, setTimeout, Intl và crypto, nhưng không có document hoặc window.
- Console
- Hỗ trợ console.log, info, warn, error, debug, table, count và time/timeEnd, cùng placeholder %s, %d và %o. Object được mở rộng gần giống Node.js.
- await cấp cao nhất
- Code chạy trong hàm async nên bạn có thể dùng await trực tiếp.
Những gì được in ra
Chỉ những gì bạn gửi tới console mới xuất hiện trong đầu ra. Giá trị của dòng cuối cùng không được hiển thị như trong console của trình duyệt, nên hãy bọc nó trong console.log. Việc in theo kiểu Node.js: mảng và đối tượng được mở rộng, chuỗi bên trong chúng được đặt trong dấu nháy, và các ký hiệu giữ chỗ %s và %d được điền từ các đối số theo sau.
console.log([1, 2, 3].map((n) => n * n));
console.log('%s is %d years old', 'Ada', 36);
console.log({ name: 'Ada', tags: ['a', 'b'] });
const data = await fetch('https://example.com/').then((r) => r.status);
console.log(data);
Ba dòng đầu in ra [ 1, 4, 9 ], Ada is 36 years old và { name: "Ada", tags: [ "a", "b" ] }. Hai dòng cuối cần kết nối mạng và in ra trạng thái HTTP của yêu cầu. Giới hạn thời gian có thể đặt là 5, 10, 30 hoặc 60 giây; khi chạm tới giới hạn, lần chạy bị kết thúc và một thông báo cho biết điều đó.
Câu hỏi thường gặp
Có import gói npm được không?
Không bằng câu lệnh import thông thường. Bạn có thể tải động gói ESM từ CDN như esm.sh bằng import động, việc này cần kết nối mạng.
Nếu tôi viết vòng lặp vô hạn thì sao?
Nhấn Dừng để kết thúc ngay hoặc code tự dừng khi hết giới hạn thời gian. Mỗi lần chạy dùng worker mới nên trang không bị ảnh hưởng.
Code của tôi có được tải lên không?
Không. Code chỉ chạy trong trình duyệt; chỉ các yêu cầu mạng do chính code của bạn tạo mới đi ra ngoài.
Có hỗ trợ TypeScript không?
Hiện chỉ hỗ trợ JavaScript; hãy xóa annotation kiểu TypeScript trước.
Quyền riêng tư
Công cụ này chạy hoàn toàn trong trình duyệt của bạn. Tệp và văn bản được xử lý ngay trên thiết bị và không bao giờ được tải lên máy chủ của chúng tôi.