جاوااسکریپت چیست و Node چطور فایلت را اجرا میکند
این نسخهی پیشنمایش عمومیه. برای نمره گرفتن، ذخیرهی پیشرفت و باز کردن درسهای بعدی ثبتنام کن.
ثبتنام رایگانورودجاوااسکریپت یک «زبان» است، نه یک «جا»
جاوااسکریپت یک زبانِ برنامهنویسی است: مجموعهای از قاعدهها برای نوشتنِ دستورهایی که کامپیوتر میفهمد و اجرا میکند. شاید شنیده باشی که جاوااسکریپت «زبانِ مرورگرها» است؛ این درست است، اما کاملِ ماجرا نیست. همان زبان، بیرون از مرورگر هم اجرا میشود — روی سرورها، روی لپتاپِ تو، و حتی روی ساعتِ هوشمند.
برنامهای که این بیرونازمرورگر را ممکن کرد، Node.js نام دارد. Node یک موتورِ اجرای جاوااسکریپت است؛ یک برنامه که فایلهای .js تو را میگیرد و آنها را اجرا میکند — بدونِ هیچ مرورگری.
در این دوره دقیقاً چه چیزی یاد میگیری
این دوره دربارهٔ خودِ زبان است — هستهٔ جاوااسکریپت: مقدارها، انواعِ داده، متغیرها، توابع، حلقهها، آرایهها، objectها و الگوهای واقعیِ کدنویسی. اینها بنیادِ هر برنامهٔ جاوااسکریپتیاند؛ چه بعداً سمتِ مرورگر بروی، چه سمتِ سرور.
برای همین، همهچیز را در Node اجرا میکنیم و نتیجه را از خروجیِ کنسول میبینیم. این یعنی:
خبری از
document،window، کلیک و دکمه و صفحهٔ وب نیست (آنها مالِ مرورگر و DOMاند و موضوعِ دورهٔ جدا).خبری از نصبِ پکیجهای بیرونی، اینترنت و سرور هم نیست. فقط زبان و کتابخانهٔ استانداردِ خودِ Node.
این محدودیت یک ویژگیِ خوب است: حواست فقط به خودِ زبان میماند، و وقتی این پایه محکم شد، هر مسیرِ بعدی برایت آسان میشود.
Node یک فایل را چطور میخواند: از بالا به پایین
مهمترین مدلِ ذهنیِ این درس ساده است: Node فایلِ .js را خطبهخط، از بالا به پایین، میخواند و اجرا میکند. هر خط که تمام شد، میرود سرِ خطِ بعد. ترتیب مهم است؛ کاری که پایینتر نوشته شده، بعد از کاری که بالاتر است اجرا میشود.
به این برنامهٔ کوچک نگاه کن:
console.log("first line");
console.log("second line");
console.log("third line");
Node اول خطِ یکم را اجرا میکند (و first line را چاپ میکند)، بعد خطِ دوم، بعد خطِ سوم. خروجی دقیقاً به همین ترتیب میشود:
first line
second line
third line
console.log پنجرهٔ تو به برنامه است
تنها راهی که میبینیم برنامه چه میکند، این است که از او بخواهیم چیزی چاپ کند. دستورِ console.log(...) هر چیزی را که داخلِ پرانتزش بگذاری، در کنسول نشان میدهد. در طولِ این دوره بارها و بارها از آن استفاده میکنیم تا ببینیم مقدارها چه شکلیاند.
یک نکتهٔ ظریف که از همین حالا بدان: وقتی یک متن (رشته) را چاپ میکنی، کنسول کوتیشنها را نشان نمیدهد — فقط خودِ متن را. اما وقتی همان متن بخشی از یک ساختارِ بزرگتر (مثلِ آرایه) باشد، کوتیشنها برمیگردند. این را در درسهای بعد بهچشم میبینی.
console.log("hello"); // hello ← بدون کوتیشن
console.log(13); // 13 ← عددِ ساده
چرا «مقدار» و «نوع» نقطهٔ شروعاند
هر برنامه با داده سروکار دارد: یک نام، یک عدد، یک پاسخِ بله/خیر. در جاوااسکریپت به هر تکهٔ داده یک مقدار (value) میگوییم، و هر مقدار یک نوع (type) دارد که میگوید آن مقدار از چه جنسی است: متن؟ عدد؟ درست/غلط؟
جاوااسکریپت هشت نوعِ پایه دارد. در همین ماژول با همهشان، با شکلِ نوشتنِ هرکدام، و با عملگرِ typeof (که نوعِ هر مقدار را به تو میگوید) راحت میشوی. این پایهٔ محکمی است که بقیهٔ دوره روی آن ساخته میشود.
حالا برویم سراغِ اولین کارِ عملی: چاپ کردن با console.log.