شما اینجا هستید

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

در این درس در مورد لیترالهای زیر توضیح میدهیم:

  • Array literals
  • Boolean literals
  • Floating-point literals
  • Integers
  • Object literals
  • String literals

لیترالهای آرایه ای

یک لیترال آرایه ای یک لیست از 0 تا چندین مقدار درون براکت [] است که هر کدام از آنها نمایانگر یک عنصر آرایه هستند. هنگامی که یک آرایه را توسط لیترال آرایه تعریف میکنیم، آن با مقداری که مشخص کرده ایم به عنوان عنصر آرایه مقدار دهی اولیه میشود و طول آرایه بر اساس تعداد آرگومانهای مشخص شده برای آن تنظیم میگردد.

مثال زیر یک آرایه به نام coffees با سه عنصر و به طول سه ایجاد میکند:

var coffees = ["French Roast", "Colombian", "Kona"];

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

کاماهای اضافی در لیترال آرایه

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

var fish = ["Lion", , "Angel"];

این آرایه دارای دو عنصر با مقدار و یک عنصر خالی است

fish[0] = "Lion", fish[1] = undefined ,fish[2] = "Angel"

اگر در انتهای لیست عناصر یک کاما قرار بدهیم، کاما در نظر گرفته نمیشود. در مثال زیر، طول آرایه سه است، همه کاما ها در لیست به غیر از کامای انتهایی نمایانگر یک عنصر جدید هستند.

به این نکته توجه کنید که کاماهای انتهایی ممکن است در مرورگرهای قدیمی باعث ایجاد خطا شوند.

var myList = ['home', , 'school', ];

در مثال زیر، طول آرایه چهار و [mylist[0 و [mylist[2 مقداری ندارند.

var myList = [ , 'home', , 'school'];

 

در مثال زیر، طول آرایه چهار و mylist[1] و mylist[3] مقداری ندارند. فقط از آخرین کاما صرفنظر میشود.

var myList = ['home', , 'school', , ];

درک رفتار کاماهای اضافی در یادگیری جاوا اسکریپت مهم است، هر چند هنگامی که شما کد خودتان را مینویسید: عناصر فاقد مقدار را به طور صریح با مقدار undefined تعریف کنید، اینکار خوانایی و قابلیت نگداری کدهای شما را بالا میبرد.

لیترال منطقی – Boolean literals

لیترال منطقی دارای دو مقدار true و false است.  مقادیر منطقی true و false اولیه را با مقادیر true و false شی منطقی اشتباه نگیرید. برای مقدار دهی اولیه نوع داده Boolean از شی Boolean استفاده میکنیم.

صحیح – integer

اعداد صحیح را میتوان به شکل دسیمال (پایه 10)، هگزا دسیمال (پایه 16)، اکتال (پایه 8) و باینری (دودویی) نوشت.

  • لیترال صحیح دسیمال شامل اعدادی است که با 0 شروع نشده اند.
  • وجود داشتن 0 در ابتدای یک لیترال صحیح نشانگر اکتال بودن عدد است. اعداد اکتال فقط شامل اعداد 0 تا 7 میباشند.
  • وجود داشتن 0x یا 0X در ابتدای لیترال صحیح نشانگر هگزا دسیمال بودن عدد است. اعداد هگزا دسیمال شامل اعداد 0 تا 9 و حروف a تا f و A تا F هستند.

چند مثال از لیترالهای صحیح:

0, 117 and -345 (decimal, base 10)

015, 0001 and -077 (octal, base 8)

0x1123, 0x00111 and -0xF1A7 (hexadecimal, "hex" or base 16)

 

لیترالهای ممیز شناور – float

لیترال ممیز شناور میتواند قسمتهای زیر را دارا باشد:

  • یک عدد صحیح دسیمال که میتونه علامت دار باشه (با افزودن + یا – قبل از آن)
  • نقطه اعشاری (".")
  • بخش اعشاری (یک عدد دسیمال دیگر)
  • یک توان

قسمت توان با e یا E که بعد از عدد نوشته میشود مشخص میگردد که میتونه توسط + یا  - علامت دار شود. لیترال ممیز شناور باید حداقل دارای یک عدد و همچنین نقطه اعشاری یا e باشند.

نحوه نوشتن آن به صورت زیر است:

[(+|-)][اعداد][. اعداد][(E|e)[(+|-)] اعداد]

برای نمونه :

3.1415926

-.123456789

-3.1E+12

.1e-23

 

لیترال شی

یک لیترال شی، یک لیست از جفتهای نامهای ویژگی و مقادیر مرتبط آنها میباشد که درون براکتها {} قرار میگیرد. نباید از لیترال شی در آغاز یک دستور استفاده کرد چون اینکار باعث ایجاد خطا میشود یا اینکه رفتاری که شما انتظار دارید صورت نمپذیرد، زیرا } به عنوان آغاز یک بلاک در نظر گرفته خواهد شد.

در ادامه یک مثال از لیترال شی است. اولین عنصر از شی car یک ویژگی به نام mycar و مقدار مرتبط "Saturn" است. دومین عنصر ویژگی getcar است که مقدارش را از تابع cartype میگیرد. سومین عنصر ویژگی special است که از متغیر sales استفاده میکند.

var Sales = "Toyota";


function CarTypes(name) {

  if (name == "Honda") {

    return name;

  } else {

    return "Sorry, we don't sell " + name + ".";

  }

}


var car = { myCar: "Saturn", getCar: CarTypes("Honda"), special: Sales };


console.log(car.myCar);   // Saturn

console.log(car.getCar);  // Honda

console.log(car.special); // Toyota

به علاوه میتوان از لیترال عددی یا رشته ای برای نام ویژگی یا یک شی داخل شی دیگر نیز استفاده کرد. در مثال زیر از این امکانات استفاده شده است.

var car = { manyCars: {a: "Saab", "b": "Jeep"}, 7: "Mazda" };


console.log(car.manyCars.b); // Jeep

console.log(car[7]); // Mazda
نام شی میتواند یک رشته خالی باشد. اگر نام ویژگی یک شناسه نا معتبر در جاوا اسکریپت باشد، آن را باید در علامت کوتیشن "" قرار داد. به نامهای ویژگی که شناسه نا معتبری دارند نمیتوان با یک نقطه (.) دسترسی پیدا کرد، اما میتوان با تنظیم نشان گذاری شبیه به آرایه ها ("[]") به آنها دسترسی پیدا کرد.
var unusualPropertyNames = {

  "": "An empty string",

  "!": "Bang!"

}

console.log(unusualPropertyNames."");   // SyntaxError: Unexpected string

console.log(unusualPropertyNames[""]);  // An empty string

console.log(unusualPropertyNames.!);    // SyntaxError: Unexpected token !

console.log(unusualPropertyNames["!"]); // Bang!

 

به این مثال هم توجه کنید:
var foo = {a: "alpha", 2: "two"};

console.log(foo.a);    // alpha

console.log(foo[2]);   // two

//console.log(foo.2);  // Error: missing ) after argument list

//console.log(foo[a]); // Error: a is not defined

console.log(foo["a"]); // alpha

console.log(foo["2"]); // two

 

لیترال رشته

یک لیترال رشته ای، صفر تا چندین کاراکتر درون علامت نقل قول دوتایی " یا نقل قول تکی ' است. یک رشته باید توسط علامتهای نقل قول شبیه به هم مشخص گردد؛ به عبارت دیگر یا با دوتا نقل قول تکی یا با دوتا نقل قول دوتایی باید مشخص گردد. نمونه های زیر لیترال رشته ای هستند:

 

"foo"
'bar'
"1234"
"one line \n another line"
"John's cat"

میتوان هر متدی را در شی String بر روی مقدار لیترال رشته صدا زد. همچنین شما میتوانید از ویژگی string.length همراه با لیترال رشته ای استفاده کنید:

console.log("John's cat".length) 

 

مثال بالا تعداد کاراکترهای رشته را همرا با فضاهای خالی را نمایش میدهد که در این مثال 10 است.

استفاده کردن از کاراکترهای ویژه در رشته :

علاوه بر کاراکترهای عادی، میتوانید مانند مثال زیر کاراکترهای خاصی را نیز درون رشته بنویسید.

"one line \n another line"

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

کاراکتر

مفهوم

\0

Null byte

\b

backspace

\f

Form feed

\n

خط جدید

\r

برگشت کری

\t

Tab

\v

Vertical tab

\'

نقل قول تکی

\"

نقل قول جفتی

\\

Backslash character

 

برای افزودن نقل قول به رشته میتوان با نوشتن یک بک اسلش \ قبل از علامت نقل قول اینکا را انجام داد. برای مثال:

var quote = "He read \"The Cremation of Sam McGee\" by R.W. Service.";

console.log(quote);

 

خروجی مثال بالا به این شکل است :

He read "The Cremation of Sam McGee" by R.W. Service.

برای درج بک اسلش \ در رشته باید قبل از آن یک \ دیگر بگذاریم. برای مثال برای نوشتن c:\temp در یک رشته، این کار را انجام میدهیم:

var quote = "He read \"The Cremation of Sam McGee\" by R.W. Service.";

console.log(quote);

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

var str = "this string \
is broken \
across multiple\
lines."
console.log(str);   // this string is broken across multiplelines.

برای اینکه خروجی مانند رشته ورودی در چند خط نمایش داده شود در انتهای هر خط \n قرار میدهیم و سپس بک اسلش را برای نوشتن خط بعدی در رشته ورودی قرار میدهیم. مانند مثال زیر:

var poem = 

"Roses are red,\n\

Violets are blue.\n\

I'm schizophrenic,\n\

And so am I."

 

افزودن دیدگاه جدید

دیدگاه

  • تگ‌های HTML مجاز: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.
  • نشانی صفحه‌ها وب و پست الکترونیک بصورت خودکار به پیوند تبدیل می‌شوند.

Plain text

  • تگ‌های HTML مجاز نیستند.
  • نشانی صفحه‌ها وب و پست الکترونیک بصورت خودکار به پیوند تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.
كد امنيتي
این پرسش برای جلوگیری از ارسال اسپمهای اتوماتیک است.