JavaScript:رشته‌های متنی (string) در جاوااسکریپت

از ویکی کد
پرش به ناوبری پرش به جستجو
دورهٔ آموزشی جاوااسکریپت
Javascript.jpg
Tutorial
۱آموزش جاوااسکریپت
۲مقدمه‌ای بر جاوااسکریپت
۳JavaScript:قوانین و اصول اولیه زبان جاوااسکریپت
۴JavaScript:خروجی جاوااسکریپت
۵JavaScript:عبارت‌ها در جاوااسکریپت
۶JavaScript:شیوهٔ نوشتن (Syntax) عبارات یا دستورات در جاوااسکریپت
۷JavaScript:نظرات یا کامنت‌ها (Comments) در جاوااسکریپت
۸JavaScript:متغیرها در جاوااسکریپت
۹JavaScript:عملگرهای جاوااسکریپت
۱۰JavaScript:عملگرهای ریاضی در جاوااسکریپت
۱۱JavaScript:عملگرهای مقداردهی در جاوااسکریپت
۱۲JavaScript:انواع داده‌ها در جاوااسکریپت
۱۳JavaScript:توابع در جاوااسکریپت
۱۴JavaScript:اشیاء (object) در جاوااسکریپت
۱۵JavaScript:رویدادها در جاوااسکریپت
۱۶JavaScript:رشته‌های متنی (string) در جاوااسکریپت
۱۷JavaScript:متدهای نوع داده متنی یا رشته‌ای در جاوااسکریپت
۱۸JavaScript:اعداد در جاوااسکریپت
۱۹JavaScript:متدهای داده‌های عددی در جاوااسکریپت
۲۰JavaScript:آرایه‌ها در جاوااسکریپت
۲۱JavaScript:متدهای آرایه در جاوااسکریپت
۲۲JavaScript:مرتب‌سازی آرایه‌ها در جاوااسکریپت
۲۳JavaScript:متدهای پیمایش آرایه در جاوااسکریپت
۲۴JavaScript:اشیاء تاریخ و زمان در جاوااسکریپت
۲۵JavaScript:فرمت‌های تاریخ و زمان در جاوااسکریپت
۲۶JavaScript:متدهای دریافت تاریخ و زمان در جاوااسکریپت
۲۷JavaScript:متدهای تنظیم زمان و تاریخ در جاوااسکریپت
۲۸JavaScript:شی ریاضی (Math) در جاوااسکریپت
۲۹JavaScript:ایجاد عدد تصادفی در جاوااسکریپت
۳۰JavaScript:مقادیر بولین (Booleans) در جاوااسکریپت
۳۱JavaScript:عملگرهای منطقی و مقایسه‌ای در جاوااسکریپت
۳۲JavaScript:ساختار if else و else if در جاوااسکریپت
۳۳JavaScript:تکه کد Switch در جاوا اسکریپت
۳۴JavaScript:حلقه For در جاوااسکریپت
۳۵JavaScript:حلقه While در جاوااسکریپت
۳۶JavaScript:کلمات کلیدی Break و Continue در جاوااسکریپت
۳۷JavaScript:تبدیل نوع داده‌ها در جاوااسکریپت
۳۸JavaScript:عملیات‌های بیتی در جاوااسکریپت
۳۹JavaScript:عبارات با قاعده در جاوااسکریپت
۴۰JavaScript:خطاها در جاوااسکریپت - رخ دادن خطا و رفع آن
۴۱JavaScript:Scope در جاوااسکریپت
۴۲JavaScript:Hoisting یا جا به جایی کدها در جاوااسکریپت
۴۳JavaScript:استفاده از مد یا حالت سخت‌گیرانه (use strict) در جاوااسکریپت
۴۴JavaScript:کلمه کلیدی This در جاوااسکریپت
۴۵JavaScript:کلمه کلیدی Let در جاوااسکریپت
۴۶JavaScript:ثابت‌ها در جاوااسکریپت
۴۷JavaScript:تعریف توابع به صورت پیکان
۴۸JavaScript:کلاس‌ها در جاوااسکریپت
۴۹JavaScript:اشکال‌زدایی در جاوااسکریپت
۵۰JavaScript:راهنمای استایل و استانداردهای کدنویسی در جاوااسکریپت
۵۱JavaScript:بهترین تمرینات جاوااسکریپت
۵۲JavaScript:اشتباهات رایج در برنامه‌نویسی جاوااسکریپت
۵۳JavaScript:کارایی در جاوااسکریپت
۵۴JavaScript:کلمات رزرو شده در جاوااسکریپت
۵۵JavaScript:ورژن‌های جاوااسکریپت
۵۶JavaScript:ECMAScript 5 - JavaScript 5
۵۷JavaScript:ECMAScript 6 - ECMAScript 2015
۵۸JavaScript:جیسون (JSON) در جاوااسکریپت
---

رشته‌های متنی در جاوااسکریپت برای ذخیره و ویرایش متن‌ها استفاده می‌شوند. [۱]

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

یک رشتهٔ متنی در جاوااسکریپت از صفر تا کاراکترهای بیشتری را در زمانیکه داخل کوتیشن «' "» نوشته می‌شود در بر می‌گیرد.

مثال

var x = "John Doe";

شما می‌توانید از تک کوتیشن ' یا دو کوتیشن " استفاده کنید:

مثال

var carName1 = "Volvo XC60"; // Double quotes

var carName2 = 'Volvo XC60'; // Single quotes

شما می‌توانید از کوتیشن‌ها درون یک رشتهٔ متنی استفاده کنید، البته به شرطی که کوتیشنی که درون رشتهٔ متنی استفاده می‌کنید با کوتیشنی که رشتهٔ متنی درون آن قرار گرفته همخوانی نداشته باشد:

مثال

var answer1 = "It's alright";

var answer2 = "He is called 'Johnny'";

var answer3 = 'He is called "Johnny"';

طول یک رشتهٔ متنی (به انگلیسی: String)

برای پیدا کردن طول یک رشتهٔ متنی، از ویژگیlengthاستفاده کنید:

مثال

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

var sln = txt.length;

Escape کردن کاراکترها

از آنجایی که رشته‌های متنی می‌بایست درون کوتیشن‌ها نوشته شوند، جاوااسکریپت رشتهٔ متنی زیر را درست درک نمی‌کند:

var x = "We are the so-called "Vikings" from the north.";

رشتهٔ متنی فوق به "We are the so-called " خلاصه خواهد شد.

راه حل این مشکل استفاده از کاراکتر بک‌اسلش «\» قبل از کاراکتر است.

کاراکتر بک‌اسلش «\» موجب می‌شود که کاراکترهای به خصوص، همانند کوتیشن به کاراکترهای متنی یا رشته‌ای تبدیل شوند:

کد نتیجه توضیحات
\′ تک کوتیشن
\’’ دو کوتیشن
\\ \ بک‌اسلش

عبارت\"موجب ایجاد دو کوتیشن یا «"» در یک رشتهٔ متنی می‌شود:

مثال

var x = "We are the so-called \"Vikings\" from the north.";

عبارت\'موجب ایجاد دو کوتیشن یا «'» در یک رشتهٔ متنی می‌شود:

مثال

var x = 'It\'s alright.';

عبارت\\یک بک‌اسلش درون یک رشتهٔ متنی ایجاد می‌کند:

مثال

var x = "The character \\ is called backslash.";

شش عبارت معتبر دیگر برای تبدیل کاراکترها در جاوااسکریپت:

کد نتیجه
\b ایجاد بک‌اسلش در رشتهٔ متنی
\f ایجاد Form Feed
\n ایجاد خط جدید
\r حذف یک کاراکتر
\t ایجاد یک تب یا فاصلهٔ افقی
\v ایجاد یک فاصلهٔ عمودی


کوچک‌تر کردن کدهای طولانی

برای خواناتر شدن کد، برنامه‌نویس‌ها اغلب دوست دارند که طول کدهایشان در هر خط بیشتر از ۸۰ کاراکتر نباشد.

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

مثال

document.getElementById("demo").innerHTML =
"Hello Dolly!";

شما همچنین می‌توانید درون یک رشتهٔ متنی به‌وسیلهٔ یک بک‌اسلش، یک خط خالی ایجاد کنید:

مثال

document.getElementById("demo").innerHTML = "Hello \
Dolly!";


راه بهتری که برای ایجاد فاصله در رشتهٔ متنی وجود دارد، جمع کردن رشته‌ها است:

مثال

document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";

شما نمی‌توانید به وسیلهٔ\بین کدها فاصله ایجاد کنید:

مثال

document.getElementById("demo").innerHTML = \
"Hello Dolly!";

داده‌های متنی می‌توانند از نوع اشیاء باشند

به صورت عادی، رشته‌های متنی در جاوااسکریپت از نوع primitive هستند که از عبارت‌های ساده ساخته شده‌اند:

var firstName = "John";

اما رشته‌های متنی نیز می‌توانند به صورت یک شیء به وسیلهٔ کلمهٔ کلیدیnewتعریف شوند:

var firstName = new String("John");

مثال

var x = "John";
var y = new String("John");

// typeof x will return string
// typeof y will return object


زمانی که از عملگر==استفاده می‌کنید، رشته‌های برابر، با یکدیگر برابرند:

مثال

var x = "John";             
var y = new String("John");

// (x == y) is true because x and y have equal values

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

مثال

var x = "John";             
var y = new String("John");

// (x === y) is false because x and y have different types (string and object)

و یا این کار می‌تواند نتایج بدتری نیز داشته باشد. اشیاء در جاوااسکریپت نمی‌توانند با یکدیگر مقایسه شوند:

مثال

var x = new String("John");             
var y = new String("John");

// (x == y) is false because x and y are different objects

مثال

var x = new String("John");
var y = new String("John");

// (x === y) is false because x and y are different objects


منابع آموزشی