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

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

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

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

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

مثال

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


منابع آموزشی