منو سایت

  • خانه
  • وبلاگ
  • دو نقل قول در مقابل نقل قول های تک در جاوا اسکریپت

دو نقل قول در مقابل نقل قول های تک در جاوا اسکریپت

 تاریخ انتشار :
/
  وبلاگ
دو نقل قول در مقابل نقل قول های تک در جاوا اسکریپت

دو نقل قول در مقابل نقل قول های تک در جاوا اسکریپت

در جاوا اسکریپت می توانید از نقل قول های تکی و دوگانه استفاده کنید.

هیچ قانون خاصی وجود ندارد که تعیین کند کدام یک را باید استفاده کنید. این بدان معنی است که شما می توانید سبکی را انتخاب کنید که بیشتر به شما می آید.

let x = "John"
let y = 'John'

اما به خاطر قوام، توصیه می کنم با این حال، چسبیدن به یک سبک.

علاوه بر این، از ES6، می‌توانید از قالب‌های واقعی (کاراکتر بک اسلش) برای ایجاد رشته‌ها در جاوا اسکریپت نیز استفاده کنید.

let z = `John`

اگرچه الگوی تحت اللفظی به ویژه زمانی مفید است که شما نیاز دارید مقادیر را در رشته ها جاسازی کنید.

let age = 20
let msg = `John is ${age} years old`

console.log(msg) // John is 20 years old

مشکل گیومه ها

مشکل اصلی با نقل قول های تکی و دوگانه در جاوا اسکریپت زمانی رخ می دهد که شما نیاز به استفاده از نقل قول ها در داخل یک رشته داشته باشید.

این رشته مثال را در نظر بگیرید:

console.log('Let's go')

این قطعه کد به دلیل یک خطای نحوی اجرا نشد:

دو نقل قول در مقابل نقل قول های تک در جاوا اسکریپت

این خطا به این دلیل رخ می دهد که جاوا اسکریپت رشته را به جای یک رشته به صورت دو قسمت می بیند.

  1. 'Let'
  2. s go'

در اینجا، جاوا اسکریپت نقل قول های تکی در کلمه را در نظر می گیرد اجازه دهید رشته را به پایان می رساند

یک راه آسان برای جلوگیری از این خطا استفاده از دو نقل قول به جای نقل قول های تک است:

console.log("Let's go")

خروجی:

Let's go

فرار از رشته ها در جاوا اسکریپت

گاهی اوقات ممکن است لازم باشد از نقل قول های تکی استفاده کنید حتی اگر مشکلی مانند مورد بالا ایجاد کند.

به عنوان مثال، فرض کنید می خواهید رشته ای مانند این داشته باشید:

console.log("Then he said: "let's go"")

خروجی:

console.log("Then he said: "let's go"")
            ^^^^^^^^^^^^^^^^

SyntaxError: missing ) after argument list

برای رفع این مشکل باید از چیزی که نامیده می شود استفاده کنید در رفتن.

به طور خلاصه، فرار به معنای استفاده از بک اسلش برای رمزگذاری کاراکترهای خاص برای جلوگیری از تفسیر نادرست است.

در این مورد، شما می خواهید از کاراکتر دو نقل قول فرار کنید تا از تعبیر نادرست جاوا اسکریپت به عنوان انتهای رشته جلوگیری کنید.

در اینجا به نظر می رسد:

console.log("Then he said: "let's go"")

خروجی:

Then he said: "let's go"

الفبای الگو

از زمان ES6، جاوا اسکریپت راه سومی برای تعیین رشته ها دارد – الفبای الگو.

یک رشته الگوی تحت اللفظی به جای گیومه های تکی یا دوتایی در یک جفت بک اسلش پیچیده می شود.

مثلا:

let age = 32
let msg = `Alice is ${age} years old`

در بخش قبل، نحوه استفاده از escape را برای قرار دادن نقل قول های تکی و دوتایی در یک رشته یاد گرفتید.

اما راه دیگر برای انجام این کار استفاده از الفبای قالب است.

مثلا:

let msg = `He said: "Let's go!"`
console.log(msg // He said: "Let's go!"

اگر از نقل‌قول‌های تک یا دوتایی برای ایجاد پیام استفاده کنیم، کد بالا خراب می‌شود. اما به لطف الگوهای واقعی، رشته با موفقیت ساخته شد.

کدام بهتر است: نقل قول یک یا دو؟

هر دو نقل قول تکی و دوگانه راه حل های عالی برای ایجاد رشته ها در جاوا اسکریپت هستند.

اما دلایلی وجود دارد که ممکن است نقل قول های دوگانه ترجیح داده شوند:

  1. نقل قول های دوگانه هستند قبلاً در زبان گفتاری استفاده شده است. به عنوان مثال، در زبان انگلیسی، دو علامت نقل قول، قسمتی از متن نقل قول را مشخص می کند.
  2. نقل قول های دوگانه نیازی به حذف آپاستروف نیست. به عنوان مثال، “بیا به ساحل برویم” در مقابل “بیا به ساحل برویم”.
  3. بسیاری دیگر زبان های کدنویسی رشته های مضاعف را تعریف می کنند. به عنوان مثال، در PHP نمی توانید رشته های تک نقل قول شده فرار را اسلش کنید.
  4. در جاوا اسکریپت، تگ‌ها و رشته‌های ویژگی JSON از دو نقل قول استفاده می‌کنند. (اگرچه رشته JSON دور گیومه های تکی پیچیده شده است).

با تشکر برای خواندن. امیدوارم ازش خوشتان بیاید! کد نویسی مبارک!

درباره نویسنده

دو نقل قول در مقابل نقل قول های تک در جاوا اسکریپت

آرتوری جلی

من یک کارآفرین و وبلاگ نویس از فنلاند هستم. هدف من این است که با راهنمایی‌ها و بررسی‌های جامع، کدنویسی و فناوری را برای شما آسان‌تر کنم.