انواع داده (Data Types)
در جاوااسکریپت، «نوع داده (Data Type)» یعنی جنس مقدار. با نوع درست، عملیات درست می شود. این صفحه مرور ساده انواع داده جاوااسکریپت است.
مرور سریع انواع داده
جاوااسکریپت 8 نوع داده دارد: String، Number، BigInt، Boolean، Object، Undefined، Null، Symbol. هر کدام برای سناریویی مناسب است.
ترکیب عدد و رشته
وقتی عدد و رشته کنار هم باشند، معمولاً رشته پیروز می شود. جاوااسکریپت از چپ به راست ارزیابی می کند.
let x = 16 + "Volvo";
let a = 16 + 4 + "Volvo";
// نتیجه: "20Volvo"
let b = "Volvo" + 16 + 4;
// نتیجه: "Volvo164"
نکته: افزودن عدد با رشته، عدد را به رشته تبدیل می کند.
انواع پویا (Dynamic Types)
نوع ها پویا هستند. یعنی یک متغیر می تواند نوعش عوض شود.
let v;
// اکنون v: undefined
v = 5;
// اکنون v: Number
v = "John";
// اکنون v: String
رشته ها (String)
«رشته (String)» متن است. می توانی از " یا ' استفاده کنی.
let carName1 = "Volvo XC60";
let carName2 = 'Volvo XC60';
let answer1 = "It's alright";
let answer2 = 'He is called "Johnny"';
عدد و نماد علمی (Number)
«عدد (Number)» همیشه شناور 64-بیتی است. اعشار اختیاری است. نوشتار علمی هم داریم.
let x1 = 34.00;
let x2 = 34;
let y = 123e5;
let z = 123e-5;
BigInt برای اعداد خیلی بزرگ
«BigInt» نوعی برای اعداد صحیح بسیار بزرگ است. با پسوند n یا سازنده ساخته می شود.
let big1 = 123456789012345678901234567890n;
let big2 = BigInt("123456789012345678901234567890");
Boolean؛ درست یا نادرست
«بولین (Boolean)» فقط true یا false است. در شرط ها کاربرد دارد.
let x = 5;
let y = 5;
let z = 6;
let a = (x == y);
let b = (x == z);
Object و Array
«شیء (Object)» مجموعه خصوصیت هاست. «آرایه (Array)» شیء فهرست دار است. تاریخ هم شیء است.
const person = { firstName: "John", lastName: "Doe", age: 50, eyeColor: "blue" };
const cars = ["Saab", "Volvo", "BMW"];
const date = new Date("2022-03-25");
typeof؛ فهمیدن نوع
«typeof» نوع مقدار را برمی گرداند. برای بررسی سریع مفید است.
let t1 = typeof "John";
let t2 = typeof 3.14;
let t3 = typeof (3 + 4);
undefined، empty، null
«undefined» یعنی مقدار نگرفته. «رشته خالی» مقدار دارد اما متن ندارد. «null» یعنی نبود شیء.
let car;
// car: undefined
car = undefined;
// همچنان undefined
let empty = "";
// typeof empty: "string"
let nothing = null;
// typeof nothing: "object" (قدیمی)
نکته: برای null از «===» استفاده کن. «==» با undefined هم برابر می گیرد.
گام های تمرینی
- یک متغیر تعریف کن و مقدارش را عوض کن.
- با typeof نوع ها را چاپ کن.
- یک عدد را کنار رشته بگذار و خروجی ببین.
- یک BigInt بساز و در کنسول بررسی کن.
جمع بندی سریع
- عدد و رشته کنار هم، رشته می سازد.
- نوع ها پویا هستند.
- BigInt برای اعداد خیلی بزرگ است.
- null شیء نیست؛ فقط یک باگ قدیمی typeof است.
- typeof برای چک فوری نوع است.
نکته: صفحه typeof را برای جزئیات بیشتر ببین. همچنین آموزش متدهای RegExp بعدی است.