برنامه نویسی

بلوک های ساختمانی JavaScript: راهنمای مبتدی برای انواع داده ها

مقدمه

در آخرین ماجراجویی ما ، متغیرهای JavaScript را مورد بررسی قرار دادیم – ظروف نامگذاری شده که در برنامه های ما اطلاعات دارند. حال ، بیایید به داخل آن ظروف نگاه کنیم! چه نوع اطلاعاتی را می توان ذخیره کرد؟ اینجاست انواع داده های جاوا اسکریپت بیا بازی
در کارگاه دیجیتال خود به انواع داده هایی مانند جعبه های تخصصی و دارای برچسب فکر کنید. شما مایعات را در جعبه کاغذ یا پیچ های ریز در یک جعبه غول پیکر ذخیره نمی کنید ، درست است؟ به همین ترتیب ، JavaScript از انواع داده های مختلف برای مرتب سازی ، ذخیره و مدیریت انواع مختلف اطلاعات استفاده می کند. درک این نوع بسیار مهم است زیرا نوع داده ها تعیین می کند که چه کاری می توانید با آن انجام دهید و چگونه رفتار می کند.
در این پست ، انواع داده های اساسی JavaScript را که اغلب نامیده می شود ، باز خواهیم کرد انواع داده های اولیه، و ببینید که چگونه آنها به ما کمک می کنند تا کد مؤثرتر و بدون اشکال را بنویسیم.

به هر حال انواع داده ها چیست؟

در برنامه نویسی ، یک نوع داده یک طبقه بندی است که مشخص می کند کدام نوع از مقادیر متغیر می تواند نگه داشته شود و چه نوع عملیات ریاضی ، رابطه ای یا منطقی را می توان بدون ایجاد خطا برای آن اعمال کرد. هر بخش از اطلاعات یا “مقدار” در کد شما نوع داده ای دارد.
جاوا اسکریپت یک است دینامیکی تایپ شده زبان این بدان معناست که شما لازم نیست هنگام ایجاد آن ، نوع داده متغیر را اعلام کنید. JavaScript به طور خودکار نوع داده یک متغیر را بر اساس مقداری که در زمان اجرا به آن اختصاص می دهید تعیین می کند.

let myData = "Hello, learners!"; // JavaScript knows this is a string
myData = 42;                    // Now, JavaScript knows myData is a number
console.log(typeof myData);     // The 'typeof' operator will tell us the current type

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بعداً به اپراتور TypeOF بیشتر نگاه خواهیم کرد!

انواع داده های ابتدایی در JavaScript

JavaScript دارای هفت نوع داده بدوی است. ابتدایی “بدوی” هستند زیرا آنها اساسی ترین انواع داده های موجود هستند و تغییر ناپذیر هستند (به این معنی که مقدار واقعی آنها قابل تغییر نیست ، اگرچه متغیر نگه داشتن آنها را می توان به یک مقدار بدوی جدید واگذار کرد).
بیایید هرکدام را کشف کنیم:

1. رشته

  • مقایسه: یک جعبه برچسب برای نگه داشتن متن.
  • تعریف: داده های متنی را نشان می دهد. رشته ها توالی شخصیت های محصور شده در نقل قول های منفرد (“…”) ، نقل قول های مضاعف (“…”) یا backticks (... – الگوی الگوی).
  • مورد استفاده: ذخیره مقادیر متنی مانند نام ، توضیحات ، پیام ها یا هرگونه اطلاعات متنی.
  • ترکیبات: می تواند هر ترکیبی از شخصیت ها ، اعداد و نمادها را عملاً نگه دارد.
let greeting = "Hello, world!";
let userName="Alice123";
let message = `Welcome back, ${userName}!`; // Template literal with variable interpolation

console.log(greeting);
console.log(userName);
console.log(message);
console.log(typeof greeting); // Output: "string"

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

الگوی الگوی (با استفاده از پشتی) به ویژه قدرتمند هستند زیرا امکان رشته های چند خطی و عبارات تعبیه شده را مستقیماً در داخل رشته فراهم می کند.

شماره 2

  • مقایسه: یک جعبه محکم برای انواع چهره های عددی.
  • تعریف: مقادیر عددی را نشان می دهد ، از جمله عدد صحیح و شماره های نقطه شناور (اعشار). JavaScript فقط یک نوع شماره برای هر دو دارد.
  • مورد استفاده: ذخیره مقادیر عددی مانند سنین ، قیمت ها ، نمرات یا هر داده مورد نیاز برای محاسبات.
  • دامنه و مقادیر خاص: اعداد JavaScript دارای طیف گسترده ای هستند اما مقادیر خاصی را نیز در بر می گیرند:

    • Infinity (و -Infinity): بیانگر بی نهایت ریاضی است.
    • نان: مخفف “نه یک شماره” است. این ناشی از عملیاتی است که نمی تواند نتیجه عددی معنی دار ایجاد کند (به عنوان مثال ، 0/0 یا math.sqrt (-1)).
let age = 30;
let price = 19.99;
let temperature = -5;
let notANumber = 0 / 0;

console.log(age);
console.log(price);
console.log(typeof price); // Output: "number"
console.log(notANumber);   // Output: NaN
console.log(typeof NaN);   // Output: "number" (Yes, NaN is technically of type number!)

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. بولی

  • مقایسه: سوئیچ که فقط می تواند روشن یا خاموش باشد.
  • ارزش ها: فقط می تواند یکی از دو مقدار را نگه دارد: درست یا نادرست.
  • مورد استفاده: تصمیم گیری در کد خود ، کنترل جریان برنامه (به عنوان مثال ، در صورت بیانیه یا حلقه) و نمایندگی حالات منطقی.
let isLoggedIn = true;
let hasPermission = false;
let isAdult = age >= 18; // This expression evaluates to a boolean

console.log(isLoggedIn);    // Output: true
console.log(typeof isLoggedIn); // Output: "boolean"
console.log(isAdult);       // Output: true (if age is 30)

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

4

  • مقایسه: یک جعبه عمداً خالی ، به وضوح به عنوان “خالی” مشخص شده است.
  • ارزش: فقط یک مقدار دارد: تهی.
  • معنی: عدم وجود عمدی هر مقدار شیء یا یک غیر ارزش عمدی را نشان می دهد. این اغلب توسط یک برنامه نویس اختصاص داده می شود تا نشان دهد که یک متغیر نباید مقداری داشته باشد.
  • مورد استفاده: هنگامی که می خواهید صریحاً بیان کنید که یک متغیر دارای ارزش نیست ، استفاده می شود.
let selectedUser = null; // No user is selected yet
console.log(selectedUser);    // Output: null
console.log(typeof selectedUser); // Output: "object" (This is a long-standing quirk in JavaScript!)

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

از نوع بازگشت تهی “شی” آگاه باشید. این یک اشکال تاریخی است که برای جلوگیری از شکستن کد موجود ثابت نشده است.

5. تعریف نشده

  • مقایسه: جعبه ای که هنوز چیزی داده نشده است ، محتوای آن ناشناخته است.
  • ارزش: فقط یک مقدار دارد: تعریف نشده.
  • معنی: نشان می دهد که یک متغیر اعلام شده است اما هنوز به یک مقدار اختصاص داده نشده است. این همچنین می تواند نتیجه کارکردهایی باشد که صریحاً یک مقدار را برگردانند.
  • مورد استفاده: این اغلب حالت پیش فرض متغیرهای غیرقانونی است.
let userEmail; // Declared but not assigned
console.log(userEmail);    // Output: undefined
console.log(typeof userEmail); // Output: "undefined"

function doNothing() {
    // This function doesn't return anything
}
console.log(doNothing()); // Output: undefined

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • تهی در مقابل تعریف نشده:

    • تعریف نشده به طور معمول به این معنی است که یک متغیر اعلام شده است اما هنوز یک مقدار داده نشده است ، یا یک تابع یک مقدار را بازگرداند. این اغلب به طور پیش فرض JavaScript است.
    • NULL یک مقدار واگذاری است. این بدان معناست که شما ، برنامه نویس ، عمداً متغیر را تنظیم کرده اید تا هیچ ارزشی نداشته باشد.

6. BIGINT

  • مقایسه: یک جعبه فوق العاده بزرگ و تقویت شده به طور خاص برای تعداد فوق العاده عظیم.
  • تعریف: معرفی شده در ES2020 (ES11) ، BigInt برای ذخیره و دستکاری عدد صحیح استفاده می شود که بسیار بزرگ هستند تا توسط نوع داده شماره استاندارد ارائه شوند. شما با افزودن n به انتهای یک عدد صحیح یا با تماس با سازنده BigInt () ، یک bigint ایجاد می کنید.
  • مورد استفاده: کار با اعداد صحیح بسیار بزرگ ، مانند موارد موجود در رمزنگاری ، زمان بندی با دقت بالا یا هنگام برخورد با شناسه های بزرگ پایگاه داده.
const veryLargeNumber = 1234567890123456789012345678901234567890n;
const anotherLargeNumber = BigInt("987654321098765432109876543210");

console.log(veryLargeNumber);
console.log(typeof veryLargeNumber); // Output: "bigint"

// Cannot mix Number and BigInt in most operations directly
// console.log(veryLargeNumber + 10); // This would cause an error
console.log(veryLargeNumber + 10n); // This works
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

7. نماد

  • مقایسه: یک شماره سریال منحصر به فرد یا یک کلید مخفی برای یک جعبه ، حتی اگر جعبه های دیگر دارای برچسب های یکسان باشند.
  • تعریف: معرفی شده در ES6 (ES2015) ، نمادها مقادیر ابتدایی منحصر به فرد و تغییر ناپذیر هستند. هر بار که نماد () را صدا می کنید ، یک نماد جدید و منحصر به فرد دریافت می کنید.
  • مورد استفاده: در درجه اول به عنوان کلیدهای خاصیت منحصر به فرد برای اشیاء برای جلوگیری از نامگذاری در برخورد استفاده می شود. این بیشتر یک مورد استفاده پیشرفته است ، اما خوب است که بدانید وجود دارد.
const id1 = Symbol("id");
const id2 = Symbol("id");

console.log(id1 === id2);    // Output: false (they are unique)
console.log(typeof id1);     // Output: "symbol"

let user = {
    name: "John",
    [id1]: "User ID 123" // Using a symbol as an object property key
};
console.log(user[id1]); // Output: "User ID 123"

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بررسی انواع داده ها: اپراتور نوع

همانطور که در مثالها مشاهده کردیم ، JavaScript اپراتور نوع را برای یافتن نوع داده یک متغیر یا یک مقدار ارائه می دهد.

console.log(typeof "Hello");      // "string"
console.log(typeof 100);          // "number"
console.log(typeof true);         // "boolean"
console.log(typeof undefined);    // "undefined"
console.log(typeof null);         // "object" (the quirk!)
console.log(typeof 123n);         // "bigint"
console.log(typeof Symbol("key"));// "symbol"
console.log(typeof {a: 1});       // "object" (we'll cover objects soon!)
console.log(typeof [1, 2, 3]);    // "object" (arrays are a type of object)
console.log(typeof function(){}); // "function" (functions are also objects)

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

چرا انواع داده ها اهمیت دارند؟ اهمیت دانستن

بیانیه ارائه شده شما آن را به خوبی خلاصه می کند: “دانستن اینکه چه زمانی و از کجا استفاده از هر نوع داده ، کدگذاری کارآمدتر و مؤثرتر را ایجاد می کند. هر قطعه اطلاعات (مقدار)” داده “است و مقادیر مختلف به روشهای مختلف ذخیره سازی نیاز دارند و عملیات های مختلفی را امکان پذیر می کنند.”

  • عملیات صحیح: شما نمی توانید افزودن ریاضی را در دو رشته معمولی انجام دهید و انتظار یک مبلغ عددی را داشته باشید (هرچند که هماهنگی رشته ای اتفاق می افتد). با استفاده از نوع صحیح ، عملیات را مطابق آنچه انتظار می رود ، تضمین می کند.
  • کارایی: در حالی که کمتر از نگرانی دستی در جاوا اسکریپت نسبت به برخی از زبانهای دیگر ، درک انواع می تواند به طور غیرمستقیم به الگوهای کد کارآمدتر منجر شود.
  • پیشگیری از اشکالات پیشگیری از اشکالات: خطاهای نوع منبع مشترک اشکالات هستند. درک انواع داده ها به شما کمک می کند تا از این موارد جلوگیری و جلوگیری کنید. به عنوان مثال ، تلاش برای فراخوانی یک روش رشته بر روی یک عدد باعث ایجاد خطایی خواهد شد.
  • خوانایی: استفاده از انواع داده ها به طور مناسب درک کد شما را آسان تر می کند.

Beyond Primitives: یک یادداشت سریع در مورد اشیاء

در حالی که ما روی انواع داده های ابتدایی متمرکز شده ایم ، مهم است که بدانیم JavaScript یک نوع داده پیچیده به نام دارد اعتراضبشر آرایه ها ، توابع و اشیاء معمولی (مجموعه جفت های ارزش کلیدی) همه در این گروه قرار می گیرند. ما در یک پست آینده به اعماق اشیاء شیرجه خواهیم زد ، زیرا آنها برای ساختن برنامه های پیچیده تر اساسی هستند.

پایان

درک انواع داده های JavaScript مانند یادگیری انواع مختلف مواد در دسترس یک معمار است. رشته ها ، اعداد ، بول ها ، تهی ، تعریف نشده ، bigint و نمادها عناصر بنیادی هستند که برای ذخیره ، دستکاری و درک اطلاعات در برنامه های خود استفاده می کنید.
با درک هر نوع و رفتار آن ، شما به خوبی در راه نوشتن کد JavaScript پاک کننده ، قوی تر و قدرتمندتر هستید. با متغیرها تمرین کنید و انواع مختلفی از داده ها را به آنها اختصاص دهید تا ببینید که چگونه کار می کنند!

منابع

لوب

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا