วิธีใช้งาน
- เขียนโค้ดทางซ้าย หรือแก้ไขตัวอย่าง
- คลิก รัน หรือกด Ctrl+Enter (⌘+Enter บน Mac) เอาต์พุตคอนโซลจะแสดงทางขวา
- หากโค้ดทำงานนานเกินไป ให้คลิก หยุด หรือตั้งจำกัดเวลาที่มุมขวาล่าง
คำอธิบายตัวเลือก
- สภาพแวดล้อม
- Web Worker ในเบราว์เซอร์ของคุณ พร้อมไวยากรณ์ JavaScript ล่าสุดที่เบราว์เซอร์รองรับ รวมถึง fetch, setTimeout, Intl และ crypto แต่ไม่มี document หรือ window
- คอนโซล
- console.log, info, warn, error, debug, table, count และ time/timeEnd พร้อม placeholder %s, %d และ %o ออบเจ็กต์จะแสดงรายละเอียดแบบขยายคล้ายกับใน Node.js
- Top-level await
- โค้ดทำงานภายในฟังก์ชัน async จึงใช้ await ได้โดยตรง
สิ่งที่ถูกพิมพ์ออกมา
เอาต์พุตแสดงเฉพาะสิ่งที่คุณส่งไปยังคอนโซล ค่าของบรรทัดสุดท้ายไม่แสดงเหมือนในคอนโซลของเบราว์เซอร์ จึงต้องห่อด้วย console.log การพิมพ์เป็นสไตล์ Node.js คืออาร์เรย์และอ็อบเจ็กต์ถูกขยาย สตริงภายในถูกใส่เครื่องหมายคำพูด และตัวแทน %s กับ %d ถูกเติมจากอาร์กิวเมนต์ถัดไป
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);
สามบรรทัดแรกพิมพ์ [ 1, 4, 9 ], Ada is 36 years old และ { name: "Ada", tags: [ "a", "b" ] } สองบรรทัดสุดท้ายต้องใช้การเชื่อมต่อเครือข่ายและพิมพ์สถานะ HTTP ของคำขอ จำกัดเวลาตั้งได้ที่ 5, 10, 30 หรือ 60 วินาที เมื่อถึงเวลา การรันจะสิ้นสุดและมีข้อความแจ้ง
คำถามที่พบบ่อย
สามารถ import แพ็กเกจ npm ได้หรือไม่
ใช้คำสั่ง import โดยตรงไม่ได้ แต่โหลดแพ็กเกจ ESM แบบไดนามิกได้ด้วย await import('https://esm.sh/package-name') ซึ่งต้องเชื่อมต่อเครือข่าย
ถ้าเขียนลูปไม่สิ้นสุดจะเกิดอะไรขึ้น
คลิก หยุด เพื่อยุติทันที หรือระบบจะหยุดโดยอัตโนมัติเมื่อถึงจำกัดเวลา การรันแต่ละครั้งใช้ worker ใหม่ หน้าเว็บจึงไม่ได้รับผลกระทบ
โค้ดของฉันถูกอัปโหลดหรือไม่
ไม่ โค้ดทำงานเฉพาะในเบราว์เซอร์ของคุณ คำขอเครือข่ายเพียงอย่างเดียวคือคำขอที่โค้ดของคุณเป็นผู้ส่ง
รองรับ TypeScript หรือไม่
ขณะนี้รองรับเฉพาะ JavaScript โปรดลบคำกำกับชนิดข้อมูลของ TypeScript ออกก่อน
ความเป็นส่วนตัว
เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา