โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย
ตรวจสภาพแวดล้อมการทำงานอย่างปลอดภัยด้วย globalThis/window/global ตรวจสอบความพร้อมของ fetch และทำความเข้าใจว่าเหตุใดไฟล์จึงต้องใช้ Node ขณะที่เบราว์เซอร์เน้น DOM/เครือข่าย
โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
ภาพรวม
เป้าหมาย: รู้ว่าโค้ดของคุณทำงานที่ใด
- ตัวแปรส่วนกลาง: globalThis, window, global
- fetch: ตรวจสอบความสามารถก่อน อย่าคาดเดา
- ไฟล์: Node มี fs แต่เบราว์เซอร์ไม่มี
- URL: ใช้งานได้ทั้งสองสภาพแวดล้อม

ตรวจสอบสภาพแวดล้อมขณะทำงานอย่างปลอดภัย
ใช้การตรวจสอบ typeof เพื่อหลีกเลี่ยง ReferenceErrors และเรียนรู้ว่าโค้ดกำลังทำงานอยู่ที่ใด
// Detect presence of common globals
const hasWindow = typeof window !== "undefined";
const hasGlobal = typeof global !== "undefined";
const hasProcess = typeof process !== "undefined" && process && typeof process.version === "string";
console.log("globalThis exists?", typeof globalThis !== "undefined");
console.log("window?", hasWindow);
console.log("global?", hasGlobal);
console.log("Node process?", hasProcess);

fetch: การตรวจสอบความสามารถ
โดยทั่วไปเบราว์เซอร์มี fetch แต่ Node รุ่นเก่าอาจไม่มี ให้ตรวจสอบ typeof fetch ก่อน
// Feature-detect fetch; do not assume it exists everywhere
const hasFetch = typeof fetch === "function";
console.log("fetch available?", hasFetch);
// If available, you could call fetch(...). For a safe demo we only log.
if (!hasFetch) {
console.log("Provide a fallback or use a library in Node versions without fetch.");
}

ไฟล์: Node เทียบกับเบราว์เซอร์
Node มี fs สำหรับจัดการไฟล์ แต่เบราว์เซอร์ไม่มี ทำให้เส้นทางโค้ดเดียวกันปลอดภัยด้วยการตรวจสอบความสามารถ
// Files are a Node concern; browsers cannot read your disk directly
const hasRequire = typeof require === "function";
console.log("CommonJS require available?", hasRequire);
// Safe message instead of real file I/O (keeps the demo runnable everywhere)
if (hasRequire) {
console.log("In Node you can use fs for files; in browsers you cannot.");
} else {
console.log("No require here; likely a browser-like or sandboxed runtime.");
}

ใช้ร่วมกันได้: API ของ URL
คลาส URL แยกวิเคราะห์ที่อยู่ได้อย่างสอดคล้องกันในสภาพแวดล้อมขณะทำงานต่าง ๆ จึงเหมาะกับเครื่องมือขนาดเล็ก
// URL is available in both environments
const u = new URL("https://example.com/path?x=1#top");
console.log("host:", u.host);
console.log("pathname:", u.pathname);
console.log("search:", u.search);
console.log("hash:", u.hash);

แนวปฏิบัติที่เหมาะกับผู้เริ่มต้น
เคล็ดลับ:
- ตรวจสอบ typeof fetch ก่อนใช้งาน
- ไฟล์ต้องใช้ Node เช่น fs ส่วนเบราว์เซอร์เน้น DOM และเครือข่าย
- ใช้ globalThis สำหรับตัวแปรส่วนกลางที่พกพาได้
- ควรใช้การตรวจสอบความสามารถขนาดเล็ก แทนการเดาสภาพแวดล้อม

แบบทดสอบการตรวจจับ fetch
ตรวจสอบอย่างรวดเร็ว: ตรวจจับ fetch อย่างปลอดภัย

ทบทวน
ทบทวน: ตรวจจับสภาพแวดล้อมขณะทำงานด้วยการตรวจสอบ typeof อย่างปลอดภัย ตรวจสอบความสามารถของ fetch จำไว้ว่าไฟล์ทำงานฝั่ง Node และใช้ URL ได้ในทั้งสองสภาพแวดล้อม

คำถามที่พบบ่อย
บทเรียน “โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย”
ตรวจสภาพแวดล้อมการทำงานอย่างปลอดภัยด้วย globalThis/window/global ตรวจสอบความพร้อมของ fetch และทำความเข้าใจว่าเหตุใดไฟล์จึงต้องใช้ Node ขณะที่เบราว์เซอร์เน้น DOM/เครือข่าย คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 3 บทเรียน
บทเรียน “โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม
ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย
- ข้อแปลกของตัวโหลด ESM และความแตกต่างของ path/URL
- ตัวแปรสภาพแวดล้อมและรูปแบบการตั้งค่า