السلاسل النصية
عرفت أن القيمة قد تكون string. هذه الجلسة تبقى على النص: كيف تكتبه بين علامات اقتباس، وكيف تعدّ الحروف، وكيف تلصق القطع، وكيف تضع اقتباساً داخل السلسلة، وكيف تعرض رسالة في الصفحة. أدوات مثل slice وtoUpperCase في الجلسة التالية.
كيف تعمل السلاسل النصية في JavaScript؟
السلسلة نص يعامله المحرك كقيمة واحدة. تكتبها بـ اقتباس مفرد أو مزدوج أو علامة backticks (`). "مرحبا" و'مرحبا' سلسلتان؛ 42 بلا اقتباس عدد. خاصية length تعطي عدد الحروف (والمسافات تُحسب). الصق القطع بـ +, أو ابنِ سطراً بـ template literal و${…}. الشرطة المائلة الخلفية (\) تتيح اقتباساً من نفس النوع داخل السلسلة. ولعرض النص للمستخدم استخدم textContent.
أدوات السلسلة اليومية
📊 أدوات النص التي يحتاجها المبتدئ أولاً
| الفكرة | مثال | النتيجة / ملاحظة |
|---|---|---|
| اقتباس مزدوج | let s = "Hi"; |
النوع string |
| اقتباس مفرد | let s = 'Hi'; |
نفس النوع string |
length |
"Hi".length |
2 (حروف) |
دمج بـ + |
"Hi" + "!" |
"Hi!" |
| هروب | "Say \"hi\"" |
اقتباس داخل نفس الأسلوب |
| template | ` Hi, ${name} ` |
يدرج قيمة name |
اكتب النص بين اقتباس
اختر أسلوباً وأغلق بنفس النوع. "" سلسلة فارغة صالحة.
let greeting = "Hello";
let city = 'Tehran';
console.log(greeting);
console.log(city);
console.log(typeof greeting);
عدّ الحروف بـ length
length خاصية وليست دالة — اكتب .length لا .length(). المسافة حرف أيضاً.
let word = "JavaScript";
console.log(word.length);
console.log("Hi there".length);
الصق السلاسل بـ +
العامل + يلصق النص. إن كان أحد الطرفين سلسلة، كثيراً ما يحوّل الطرف الآخر إلى نص — لذا "Score: " + 10 يصبح "Score: 10". تذكّر ذلك عند خلط أعداد ونص.
let first = "Ada";
let last = "Lovelace";
let full = first + " " + last;
console.log(full);
console.log("Score: " + 10);
ضع اقتباساً داخل السلسلة
خياران سهلان: غيّر أسلوب الاقتباس، أو اهرب بشرطة مائلة خلفية.
let a = "She said \"hello\"";
let b = 'It\'s ready';
console.log(a);
console.log(b);
template literal (backticks)
بـ backticks تكتب سلسلة وتدرج قيماً بـ ${…} — مفيد لرسائل تمزج كلمات ومتغيرات.
let name = "Sam";
let line = `Hello, ${name}!`;
console.log(line);
اعرض السلسلة في الصفحة
ابنِ الرسالة ثم عيّنها بـ textContent ليظهر النص العادي في الفقرة.
<!DOCTYPE html>
<html>
<head>
<title>Strings — greeting on page</title>
</head>
<body>
<p id="out">…</p>
<script>
let user = "guest";
let msg = `Welcome, ${user}!`;
document.getElementById("out").textContent = msg;
</script>
</body>
</html>
الفقرة تعرض التحية. غيّر user فقط، حدّث الصفحة، وتأكد من السطر الجديد.
جرّبها بنفسك
- أنشئ
letباقتباس مزدوج وآخر بمفرد؛ سجّل كلاهما وtypeof. - سجّل
.lengthلـ"JavaScript"ولعبارة قصيرة فيها مسافة. - الصق الاسم الأول والأخير بـ
+ومسافة؛ سجّل الناتج. - اكتب سلسلة فيها فاصلة عليا أو اقتباس مزدوج (هروب أو تبديل الأسلوب).
- ابنِ
`Hello, ${name}!`معlet nameوسجّله. - في عرض HTML غيّر
userفقط، حدّث، واقرأ التحية الجديدة.
أخطاء شائعة
- كتابة
let s = Hello;بلا اقتباس — يبحث عن متغير اسمهHello - فتح بـ
"وإغلاق بـ'(أو العكس) - استدعاء
length()كأنها دالة — استخدم.length - توقع أن
"5" + 5دائماً جمع أعداد — مع سلسلة غالباً يحدث لصق - القفز إلى عشرات دوال السلسلة قبل تثبيت هذه الأساسيات (تأتي لاحقاً)
خلاصة
- السلسلة نص داخل
'…'أو"…"أو`…` lengthيعدّ الحروف؛ وهي خاصية- الصق بـ
+أو استخدم template literals مع${…} - اهرب اقتباس نفس الأسلوب بـ
\أو بدّل الأسلوب - التالي: دوال السلاسل — مثل
sliceوreplaceوتغيير حالة الحروف
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى