بهترین راه برای یادگیری جاوااسکریپت، کدنویسی عملی است. اما برای این کار باید ابتدا درک درستی از ساختار زبان داشته باشید. این مقاله، مروری کلی بر مفاهیم کلیدی JS ارائه میدهد تا اعتمادبهنفس شما را در نوشتن کد افزایش دهد. اگر تازهکار هستید، با حوصله پیش بروید و هر بخش را با تمرین و مقایسه با کدهای واقعی بررسی کنید.
در جاوااسکریپت، هر فایل مستقل (با پسوند .js) بهعنوان یک برنامهٔ جداگانه در نظر گرفته میشود. اگر یک فایل در مرحلهٔ تجزیه یا اجرا دچار خطا شود، لزوماً مانع اجرای سایر فایلها نمیشود. اما اگر برنامه به فایلهای متعدد وابسته باشد، ممکن است عملکرد ناقصی داشته باشد.
این فایلها از طریق دامنهٔ سراسری (global scope) با یکدیگر تعامل دارند. از ES6 به بعد، فرمت ماژول نیز معرفی شده که با import یا <script type="module"> بارگذاری میشود. ماژولها نیز فایلمحورند و بهصورت جداگانه اجرا میشوند اما میتوانند در زمان اجرا با هم تعامل داشته باشند.
نکته: ابزارهایی مانند Webpack معمولاً چند فایل را در یک فایل ترکیب میکنند که در این صورت، JS آن را بهعنوان یک برنامهٔ واحد در نظر میگیرد.
مقدارها اجزای اصلی برنامههای JS هستند. آنها یا ابتدایی (primitive) هستند یا شیء (object).
" یا ' استفاده کرد. برای درج متغیر در متن از ` استفاده میشود:
let firstName = "Kyle";
console.log(`My name is ${firstName}`);
Math.PI بهجای مقادیر ثابت استفاده شود. برای اعداد بسیار بزرگ از bigint استفاده کنید.true یا false برای منطق برنامه:
while (false) {
console.log("این کد اجرا نمیشود.");
}
undefined بهعنوان مقدار پیشفرض توصیه میشود:
while (value != undefined) {
console.log("هنوز مقداری داریم!");
}
hitchhikersGuide[Symbol("meaning of life")]; // 42
let names = ["Frank", "Kyle", "Peter", "Susan"];
console.log(names.length); // 4
console.log(names[1]); // Kyle
let name = {
first: "Kyle",
last: "Simpson",
age: 39,
specialties: ["JS", "تنیس روی میز"]
};
console.log(`My name is ${name.first}`);
نکته: توابع و آرایهها نیز نوعی شیء هستند که در ادامه بررسی میشوند.
برای بررسی نوع مقدار از عملگر typeof استفاده میشود:
typeof 42; // "number"
typeof "abc"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" -- باگ قدیمی!
typeof { a: 1 }; // "object"
typeof [1, 2, 3]; // "object"
typeof function hello() {}; // "function"هشدار: typeof null بهاشتباه "object" برمیگرداند. همچنین آرایهها نوع خاصی ندارند و "object" بازمیگردانند.
تبدیل نوع (coercion) و تفاوت مقدار و مرجع در ضمیمه A کتاب بررسی میشود.
در این مرور، با مفاهیم پایهای جاوااسکریپت آشنا شدیم: رفتار فایلها، انواع مقدارها، و نحوهٔ تشخیص نوع آنها. این مفاهیم در فصلهای بعدی گسترش مییابند. فعلاً با تمرین و نوشتن کد، پایهٔ یادگیری خود را تقویت کنید.