0Pricing
JavaScript Academy · บทเรียน

โกลบอล ความพร้อมใช้งานของ 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: ใช้งานได้ทั้งสองสภาพแวดล้อม
โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย — ภาพประกอบ 1

ตรวจสอบสภาพแวดล้อมขณะทำงานอย่างปลอดภัย

ใช้การตรวจสอบ 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 และ API ไฟล์หรือเครือข่าย — ภาพประกอบ 2

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.");
}
โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย — ภาพประกอบ 3

ไฟล์: 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.");
}
โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย — ภาพประกอบ 4

ใช้ร่วมกันได้: 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);
โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย — ภาพประกอบ 5

แนวปฏิบัติที่เหมาะกับผู้เริ่มต้น

เคล็ดลับ:

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

แบบทดสอบการตรวจจับ fetch

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

โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย — ภาพประกอบ 7

ทบทวน

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

โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย — ภาพประกอบ 8

คำถามที่พบบ่อย

บทเรียน “โกลบอล ความพร้อมใช้งานของ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โกลบอล ความพร้อมใช้งานของ fetch และ API ไฟล์หรือเครือข่าย
  2. ข้อแปลกของตัวโหลด ESM และความแตกต่างของ path/URL
  3. ตัวแปรสภาพแวดล้อมและรูปแบบการตั้งค่า
← กลับไปที่ JavaScript Academy