Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md
2022-10-20 09:13:17 -07:00

2.3 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
56533eb9ac21ba0edf2244b5 الاحتيال على علامات التنصيص في المقاطع النصية 1 https://scrimba.com/c/c2QvgSr 17568 escaping-literal-quotes-in-strings

--description--

عندما تحديد مقطع نصي يجب أن تبدأ وتنتهي علامتا التنصيص واحد ('') أو مزدوج (""). ماذا يحدث عندما تحتاج إلى استخدام علامتا التنصيص مثل: " أو ' داخل مقطع نصي خاص بك؟

في JavaScript، يمكنك عمل خدعة داخل علامتا التنصيص حتي لا تعدّ نهاية للعلامة الأولى في المقطع النصي عن طريق وضع خط مائل بشكل (\) أمام علامتا التنصيص.

const sampleStr = "Alan said, \"Peter is learning JavaScript\".";

هذا يوضح إلى JavaScript أن علامة التنصيص التالية ليس نهاية للمقطع، بل يجب أن تظهر داخل المقطع. لذا عند طبع هذا إلى وحدة التحكم ستحصل على:

Alan said, "Peter is learning JavaScript".

--instructions--

استخدم خطوط مائلة لتعيين مقطع إلى متغير myStr بحيث إذا كنت تريد طباعته إلى وحدة التحكم، ستري ما يلي:

I am a "double quoted" string inside "double quotes".

--hints--

يجب عليك استخدام علامة التنصيص المزدوجة (") وتتحايل على العلامات أربع مرات مثل (\").

assert(code.match(/\\"/g).length === 4 && code.match(/[^\\]"/g).length === 2);

يجب أن يحتوي المتغير myStr على المقطع النصي الآتي: I am a "double quoted" string inside "double quotes".

assert(/I am a "double quoted" string inside "double quotes(\."|"\.)$/.test(myStr));

--seed--

--after-user-code--

(function(){
  if(typeof myStr === 'string') {
    console.log("myStr = \"" + myStr + "\"");
  } else {
    console.log("myStr is undefined");
  }
})();

--seed-contents--

const myStr = ""; // Change this line

--solutions--

const myStr = "I am a \"double quoted\" string inside \"double quotes\".";