سلام عزیزان با آموزش جاوا اسکریپت در خدمت شما دوستان هستیم
از رشته (string) به منظور ذخیره سازی و دستکاری نوشته یا متن در جاوا اسکریپت استفاده می شود.
رشته در جاوا اسکریپت اصولا جهت ذخیره ی یک سری کاراکتر بکار می رود، مانند این مثال : "John Doe".
رشته می تواند هر نوشته ی داخل علامت نقل و قول باشد. امکان استفاده از هر دو نوع " " یا ' ' وجود دارد.
مثال:
var carName1 = "Volvo XC60" var carName2 = 'Volvo XC60'; document.getElementById("demo") = carName1 + "<br>" + carName2;
حتی می توان از علامت بیان شده داخل خود رشته استفاده کرد، مادام اینکه با علامت های نقل و قول اطراف رشته تداخل پیدا نکنند.
مثال:
var answer1 = "It's alright" var answer2 = "He is called 'Johnny'" var answer3 = 'He is called "Johnny"'; document.getElementById("demo") = answer1 + "<br>" + answer2 + "<br>" + answer3;
جهت بدست آوردن طول یک رشته، کافی است از خاصیت (property) length بهره ببرید.
مثال:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" document.getElementById("demo") = txt.length;
به این خاطر که رشته باید حتما داخل علامت نقل و قول قرار داده شود، جاوا اسکریپت قادر به درک رشته های مشابه نمونه ی زیر نخواهد بود.
مثال:
var y = "We are the so-called "Vikings" from the north."
بدین معنا که رشته به صورت زیر کوتاه شده و بقیه ی آن درنظر گرفته نمی شود.
"We are the so-called ".
جهت اجتناب از بروز مشکلاتی از این دست، باید از کاراکتر"\ " استفاده کنید.
علامت (\) برای وارد کردن کاراکترهای ویژه مانند: (")، (') و یا رفتن به خط جدید در یک رشته، استفاده می شود.
مثال:
var x = 'It\'s alright'; var y = "We are the so-called \"Vikings\" from the north." document.getElementById("demo") = x + "<br>" + y;
جدول زیر تمامی کاراکترهایی که امکان درج آن ها در رشته با استفاده از (\) فراهم می آید را فهرست کرده.
به منظور بهبود خوانایی کد، برنامه نویسان تا حد ممکن از قرار دادن بیش از 80 کاراکتر داخل یک خط اجتناب می کنند.
در صورتی که دستور جاوا اسکریپت داخل یک خط جا نمی گیرد، بهترین مکان برای شکستن آن خط پس از عملگر خواهد بود.
مثال:
<h1>My Web Page</h1> <p> The best place to break a code line is after an operator or a comma. </p> <p id="demo">false</p> document.getElementById("demo") = "Hello Dolly. "
همچنین می توان یک خط کد را از وسط یک رشته ی متنی (text string) قطع کرد و بقیه ی آن را در خط بعدی قرار داد، این امر با استفاده از کاراکتر" \ " امکان پذیر می شود.
مثال:
document.getElementById("demo") = "Hello\ Dolly."
توجه:
استفاده از کاراکتر مذکور به گونه ی که تشریح شد یک استاندارد ECMAScript (JavaScript) نیست. برخی از مرورگرها فاصله ی قبل از کاراکتر \ را نمی پذیرند.
روش امن تر و پرکاربرد تر، به هم وصل کردن رشته های شکسته شده توسط " + " می باشد.
مثال:
document.getElementById("demo") = "Hello" + "Dolly."
اجازه ی نصف کردن (شکستن) خط کد با استفاده از کاراکتر \ به شما داده نمی شود.
مثال:
document.getElementById("demo") = \ "Hello Dolly."
به طور معمول رشته های جاوا اسکریپت مقادیر اولیه ی هستند که از literal ها ساخته می شوند.
var firstName = "John"
اما می توان رشته ها را با استفاده از کلید واژه ی new به عنوان شی تعریف کرد.
var firstName = new String("John")
مثال:
var x = "John" // x is a string var y = new String("John"); // y is an object document.getElementById("demo") = typeof x + "<br>" + typeof y;
توجه:
سعی کنید تا حد ممکن از ایجاد رشته به عنوان اشیا خودداری کنید، زیرا که سرعت اجرا را کاهش داده و باعث بوجود آمدن اثار جانبی ملال آوری زیادی می شود.
اگر از عملگر == استفاده کنید، رشته های (که مقادیر یکسان دارند) یکسان تلقی می گردند.
مثال:
var x = "John" // x is a string var y = new String("John"); // y is an object document.getElementById("demo") = (x == y);
اما چنانچه از عملگر === استفاده کنید، رشته هایی که فقط مقادیر یکسان دارند دیگر کاملا یکسان محسوب نمی شوند زیرا که عملگر ذکر شده انتظار دارد رشته ها از نظر مقدار و نوع با هم یکی باشند.
مثال:
var x = "John" // x is a string var y = new String("John"); // y is an object document.getElementById("demo") = (x === y);
حتی بدتر اشیا هستند که نمی توان آن ها را با هم مقایسه کرد.
مثال:
var x = new String("John"); // x is an object var y = new String("John"); // y is an object document.getElementById("demo") = (x == y);
مهم : اشیا را نمی توان با هم مقایسه کرد.
مقادیر اولیه مانند "John Doe" قادر به گرفتن خصوصیت و متد نیستند (زیرا که این مقادیر اولیه شی محسوب نمی شوند).
اما در جاوا اسکریپت این امکان برای مقادیر اولیه وجود دارد که متد و خصوصیت دریافت کنند، زیرا که جاوا اسکریپت هنگام اجرای متدها و خاصیت ها (property) با مقادیر اولیه مانند شی برخورد می کند.
آموزش طراحی سایت ادامه دارد