الجزء السادس عشر – ما هي Fetch API؟ – سلسلة FSWD – JS

🟡 ما هي Fetch API؟
Fetch API هي طريقة جديدة ومتقدمة لإجراء الطلبات غير المتزامنة (asynchronous requests) في JavaScript. Fetch API بيسهل علينا إرسال طلبات HTTP (مثل GET و POST) واستقبال البيانات من السيرفر بطريقة منظمة ومرنة باستخدام Promises.
🟡 طلب بيانات من سيرفر باستخدام Fetch
في البداية، Fetch API بتُستخدم لإجراء طلبات إلى السيرفرات باستخدام fetch()
، اللي بتستقبل عنوان URL وترجع Promise.
✅ تركيب الدالة fetch
fetch(url, options)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
-
url: عنوان السيرفر أو الـ API اللي هنرسل إليه الطلب.
-
options: اختيارية، بتتضمن طريقة الطلب مثل
GET
أوPOST
، ورؤوس الطلب (headers)، ومحتوى الجسم (body) إذا كنت عاوز تبعت بيانات.
🟡 مثال على طلب بيانات باستخدام GET
✅ طلب بيانات من سيرفر باستخدام Fetch:
🟢 3. التصدير المدمج (Export All)
إذا كنت ترغب في تصدير جميع العناصر من ملف معين، يمكنك استخدام export *
لتصدير جميع المحتويات دفعة واحدة.
✅ مثال على تصدير مدمج:
file1.js:
export const greeting = "Hello, world!";
export function add(a, b) {
return a + b;
}
file2.js:
// تصدير كل شيء دفعة واحدة من file1.js
export * from './file1.js';
file3.js:
// استيراد جميع المحتويات المصدرة
import * as utils from './file2.js';
console.log(utils.greeting); // "Hello, world!"
console.log(utils.add(2, 3)); // 5
🟡 كيفية استخدام import في JavaScript؟
باستخدام import
، يمكنك استيراد الكود من ملف آخر. كما في المثالين السابقين، يمكننا استيراد عناصر محددة أو استيراد الكود بأكمله.
✅ استيراد المكونات بشكل محدد (Named Import)
file2.js:
import { greeting, add } from './file1.js'; // استيراد متغير ودالة
console.log(greeting); // "Hello, world!"
console.log(add(10, 5)); // 15
✅ استيراد الكود الافتراضي (Default Import)
file2.js
import person from './file1.js'; // استيراد الكائن المُصدّر كـ default
console.log(person.name); // "Ahmed"
console.log(person.age); // 25
✅ استيراد جميع المحتويات (Import All)
يمكنك استيراد جميع العناصر من ملف آخر باستخدام *
:
file2.js:
import * as utils from './file1.js'; // استيراد كل شيء من file1.js
console.log(utils.greeting); // "Hello, world!"
console.log(utils.add(3, 4)); // 7
🟡 أمثلة على تطبيقات مختلفة للـ Modules
✅ مثال 1: استخدام دوال وحسابات
math.js
// تصدير الدوال بشكل منفصل
export function add(a, b) {
return a + b;
}
export function multiply(a, b) {
return a * b;
}
main.js:
// استيراد الدوال واستخدامها
import { add, multiply } from './math.js';
console.log(add(5, 3)); // 8
console.log(multiply(2, 4)); // 8
✅ مثال 2: تصدير الكائنات الافتراضية
user.js
const user = {
name: "Ahmed",
age: 25,
greet() {
console.log(`Hello, my name is ${this.name}.`);
}
};
export default user; // تصدير الكائن كـ default
main.js:
// استيراد الكائن المستخدم
import user from './user.js';
console.log(user.name); // "Ahmed"
user.greet(); // "Hello, my name is Ahmed."
✅ مثال 3: استخدام Modules في تطبيقات أكبر
لو عندك مشروع أكبر وعايز تقسيم الكود لأجزاء أصغر، يمكننا استخدام الـ modules في تنظيم الكود:
user.js
export const user = {
name: "Ahmed",
age: 25
};
product.js:
export const product = {
id: 101,
name: "Laptop"
};
main.js:
import { user } from './user.js';
import { product } from './product.js';
console.log(user.name); // "Ahmed"
console.log(product.name); // "Laptop"
🟡 ملاحظات مهمة عند استخدام Modules في JavaScript:
-
يجب استخدام
<script type="module">
: عند استخدام الـ Modules في JavaScript، يجب تحديد النوعmodule
في العنصر<script>
.
<script type="module" src="main.js"></script>
-
الاستيراد من ملفات خارجية: لا يمكنك استخدام import/export في ملفات JavaScript عادية (أي ملفات لا تحتوي على
type="module"
). -
توزيع الملفات: إذا كنت بتستخدم import/export، تأكد أن الملفات بتكون في نفس المجلد أو أنه عندك المسارات الصحيحة.
-
التصدير الافتراضي vs المسمى: يمكنك تصدير عنصر واحد فقط كـ default، بينما يمكن تصدير عدة عناصر باستخدام named exports.
🟡 ملخص النقاط:
-
Modules بتساعد في تقسيم الكود وتنظيمه في ملفات مختلفة.
-
export
تُستخدم لتصدير دوال أو متغيرات أو كائنات من ملف. -
import
تُستخدم لاستيراد الكود المصدّر من ملف آخر. -
يمكن استخدام default export لتصدير عنصر واحد فقط من الملف.
-
Named exports تسمح بتصدير عدة عناصر من نفس الملف.
-
عند استخدام Modules في HTML، يجب تحديد النوع
module
في<script>
.
💰 هل تبحث عن طريقة سهلة للربح من الإنترنت؟
ابدأ الآن واكسب أموالًا حقيقية من خلال خطوات بسيطة! 🌟
اضغط وابدأ الربح