0Pricing
JavaScript Academy · درس

النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة

اكتشفوا بيئة التشغيل بأمان (globalThis/window/global)، وتحققوا من توفر fetch، وافهموا لماذا تحتاج الملفات إلى Node بينما يركّز المتصفح على DOM والشبكة

النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.

الصورة العامة

الهدف: معرفة مكان تشغيل شيفرتك.

  • النطاقات العامة: globalThis وwindow وglobal
  • fetch: تحقّق من توفر الميزة ولا تفترض وجودها
  • الملفات: لدى Node الوحدة fs، أما المتصفحات فلا
  • عناوين URL: تعمل URL في البيئتين
النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة — رسم توضيحي 1

استكشاف بيئة التشغيل بأمان

استخدم فحوصات typeof لتجنّب ReferenceError ومعرفة بيئة التشغيل.

// 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 وواجهات الملفات والشبكة — رسم توضيحي 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 وواجهات الملفات والشبكة — رسم توضيحي 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 وواجهات الملفات والشبكة — رسم توضيحي 4

مشترك بين البيئات: واجهة 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 وواجهات الملفات والشبكة — رسم توضيحي 5

عادات مناسبة للمبتدئين

نصائح:

  • تحقّق من typeof fetch قبل استخدامه.
  • تحتاج الملفات إلى Node، مثل fs؛ بينما تركز المتصفحات على DOM والشبكة.
  • استخدم globalThis للنطاقات العامة القابلة للنقل.
  • فضّل فحوصات الميزات الصغيرة على تخمين البيئة.
النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة — رسم توضيحي 6

اختبار اكتشاف fetch

تحقّق سريع: اكتشاف fetch بأمان.

النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة — رسم توضيحي 7

مراجعة

مراجعة: اكتشف بيئة التشغيل باستخدام فحوصات typeof الآمنة، وتحقّق من توفر ميزة fetch، وتذكّر أن الملفات تعمل في جانب Node، واستخدم URL في البيئتين.

النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة — رسم توضيحي 8

الأسئلة الشائعة

هل درس «النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة» مجاني؟

نعم — نص درس «النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.

ماذا ستتعلم في «النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة»؟

اكتشفوا بيئة التشغيل بأمان (globalThis/window/global)، وتحققوا من توفر fetch، وافهموا لماذا تحتاج الملفات إلى Node بينما يركّز المتصفح على DOM والشبكة تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟

لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.

كم من الوقت يستغرق درس «النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟

نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. النطاقات العامة وتوفر fetch وواجهات الملفات والشبكة
  2. مراوغات محمّل ESM والفروق بين المسارات وعناوين URL
  3. متغيرات البيئة وأنماط الإعداد
← العودة إلى JavaScript Academy