مبانی سینتکس جاوا اسکریپت: هر آنچه برای وب نیاز دارید

فهرست مطالب

“`html

مبانی سینتکس جاوا اسکریپت: هر آنچه برای وب نیاز دارید

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

متغیرها در جاوا اسکریپت: ظرف هایی برای نگهداری داده

متغیرها (Variables) در جاوا اسکریپت، مانند ظرف هایی هستند که می توانند مقادیر مختلفی را در خود نگه دارند. این مقادیر می توانند اعداد، رشته ها، boolean (درست یا غلط) یا حتی اشیاء پیچیده تر باشند. برای تعریف یک متغیر در جاوا اسکریپت، از کلمات کلیدی var، let یا const استفاده می کنیم.

تفاوت بین var، let و const

اگرچه هر سه کلمه کلیدی برای تعریف متغیر استفاده می شوند، تفاوت های مهمی بین آنها وجود دارد:

  • var: قدیمی ترین روش تعریف متغیر است. متغیرهای تعریف شده با var دارای محدوده عملکردی (function scope) هستند، به این معنی که در تمام قسمت های تابعی که در آن تعریف شده اند، قابل دسترسی هستند. اگر در خارج از هر تابعی تعریف شوند، محدوده سراسری (global scope) خواهند داشت.
  • let: معرفی شده در ECMAScript 2015 (ES6). متغیرهای تعریف شده با let دارای محدوده بلوکی (block scope) هستند، به این معنی که فقط در بلوکی که در آن تعریف شده اند (مثلاً داخل یک حلقه for یا یک دستور if) قابل دسترسی هستند. این محدوده محدودتر از var است و می تواند به جلوگیری از خطاهای ناخواسته کمک کند.
  • const: همچنین معرفی شده در ES6. مانند let دارای محدوده بلوکی است، اما یک تفاوت کلیدی دارد: مقدار متغیرهای تعریف شده با const نمی تواند پس از تعریف تغییر کند. به عبارت دیگر، این متغیرها ثابت (constant) هستند. توجه داشته باشید که اگر const برای تعریف یک شیء استفاده شود، خود شیء ثابت نیست، بلکه فقط ارجاع (reference) به آن شیء ثابت است. این بدان معناست که می توانید ویژگی های (properties) شیء را تغییر دهید، اما نمی توانید متغیر const را به یک شیء جدید ارجاع دهید.

مثال هایی از تعریف متغیر


 var age = 30; // تعریف یک متغیر با var
 let name = "John Doe"; // تعریف یک متغیر با let
 const PI = 3.14159; // تعریف یک ثابت با const

 console.log(age); // خروجی: 30
 console.log(name); // خروجی: John Doe
 console.log(PI); // خروجی: 3.14159

 // age = 31; // امکان پذیر است
 // name = "Jane Doe"; // امکان پذیر است
 // PI = 3.14; // خطا: Assignment to constant variable.
 

انواع داده در جاوا اسکریپت: شناخت مصالح ساختمانی

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

  • Number: برای نمایش اعداد، چه صحیح (integer) و چه اعشاری (floating-point).
  • String: برای نمایش متن. رشته ها در داخل علامت های نقل قول (single quotes) یا علامت های نقل قول دوتایی (double quotes) قرار می گیرند.
  • Boolean: برای نمایش مقادیر درست (true) یا غلط (false).
  • Null: نشان دهنده عدم وجود مقدار. به معنای “هیچ”.
  • Undefined: نشان دهنده متغیری است که تعریف شده است، اما هنوز هیچ مقداری به آن اختصاص داده نشده است.
  • Symbol (ES6): نوع داده ای منحصر به فرد و تغییرناپذیر که اغلب برای ایجاد ویژگی های خصوصی در اشیاء استفاده می شود.
  • Object: نوع داده ای پیچیده که می تواند مجموعه ای از ویژگی ها (properties) را در خود نگه دارد. هر ویژگی یک نام (key) و یک مقدار (value) دارد. آرایه ها (arrays) و توابع (functions) نیز در جاوا اسکریپت به عنوان اشیاء در نظر گرفته می شوند.

مثال هایی از انواع داده


 let age = 30; // Number
 let name = "John Doe"; // String
 let isStudent = true; // Boolean
 let address = null; // Null
 let phoneNumber; // Undefined

 let person = { // Object
  name: "John Doe",
  age: 30,
  isStudent: true
 };

 let numbers = [1, 2, 3, 4, 5]; // Array (Object)

 function greet(name) { // Function (Object)
  console.log("Hello, " + name + "!");
 }
 

عملگرها در جاوا اسکریپت: ابزارهای دستکاری داده ها

عملگرها (Operators) نمادهایی هستند که برای انجام عملیات مختلف بر روی متغیرها و مقادیر استفاده می شوند. جاوا اسکریپت از طیف گسترده ای از عملگرها پشتیبانی می کند، از جمله:

  • عملگرهای حسابی (Arithmetic Operators): برای انجام عملیات حسابی مانند جمع (+)، تفریق (-)، ضرب (*)، تقسیم (/)، باقیمانده (%) و توان (**).
  • عملگرهای انتساب (Assignment Operators): برای انتساب مقادیر به متغیرها. عملگر اصلی انتساب (=) است. عملگرهای ترکیبی انتساب (+=, -=, *=, /=, %=) نیز وجود دارند که عملیات را با انتساب ترکیب می کنند.
  • عملگرهای مقایسه ای (Comparison Operators): برای مقایسه دو مقدار. این عملگرها یک مقدار boolean (true یا false) برمی گردانند. عملگرهای مقایسه ای شامل مساوی (==)، نامساوی (!=)، مساوی دقیق (===)، نامساوی دقیق (!==)، بزرگتر از (>)، کوچکتر از (<)، بزرگتر مساوی (>=) و کوچکتر مساوی (<=) هستند.
  • عملگرهای منطقی (Logical Operators): برای ترکیب و دستکاری مقادیر boolean. این عملگرها شامل AND (&&)، OR (||) و NOT (!) هستند.
  • عملگرهای بیتی (Bitwise Operators): برای انجام عملیات بر روی بیت های داده.
  • عملگرهای رشته ای (String Operators): برای دستکاری رشته ها. عملگر اصلی رشته ای، عملگر الحاق (+) است که برای اتصال دو یا چند رشته به یکدیگر استفاده می شود.
  • عملگرهای نوع (Type Operators): برای تعیین نوع داده یک مقدار. عملگر typeof نوع داده یک مقدار را به صورت یک رشته برمی گرداند. عملگر instanceof بررسی می کند که آیا یک شیء نمونه ای از یک کلاس خاص است یا خیر.

مثال هایی از عملگرها


 let x = 10;
 let y = 5;

 console.log(x + y); // خروجی: 15
 console.log(x - y); // خروجی: 5
 console.log(x * y); // خروجی: 50
 console.log(x / y); // خروجی: 2
 console.log(x % y); // خروجی: 0

 x += y; // x = x + y;
 console.log(x); // خروجی: 15

 console.log(x == y); // خروجی: false
 console.log(x != y); // خروجی: true
 console.log(x > y); // خروجی: true

 console.log(true && false); // خروجی: false
 console.log(true || false); // خروجی: true
 console.log(!true); // خروجی: false

 let name = "John";
 let lastName = "Doe";
 console.log(name + " " + lastName); // خروجی: John Doe

 console.log(typeof x); // خروجی: number
 console.log(typeof name); // خروجی: string
 

دستورات شرطی در جاوا اسکریپت: تصمیم گیری در کد

دستورات شرطی (Conditional Statements) به شما امکان می دهند تا کد خود را بر اساس شرایط خاص اجرا کنید. مهمترین دستورات شرطی در جاوا اسکریپت عبارتند از:

  • if statement: کد داخل بلوک if تنها در صورتی اجرا می شود که شرط (condition) داخل پرانتز if درست (true) باشد.
  • else statement: کد داخل بلوک else تنها در صورتی اجرا می شود که شرط داخل پرانتز if نادرست (false) باشد.
  • else if statement: به شما امکان می دهد چندین شرط را بررسی کنید. کد داخل بلوک else if تنها در صورتی اجرا می شود که شرط داخل پرانتز else if درست (true) باشد و هیچ یک از شرط های قبلی (if یا else if قبلی) درست نبوده باشند.
  • switch statement: به شما امکان می دهد یک مقدار را با چندین مقدار مختلف مقایسه کنید و بر اساس آن کد را اجرا کنید.

مثال هایی از دستورات شرطی


 let age = 20;

 if (age >= 18) {
  console.log("You are an adult.");
 } else {
  console.log("You are a minor.");
 }

 let score = 75;

 if (score >= 90) {
  console.log("A");
 } else if (score >= 80) {
  console.log("B");
 } else if (score >= 70) {
  console.log("C");
 } else {
  console.log("D");
 }

 let day = "Monday";

 switch (day) {
  case "Monday":
   console.log("It's Monday!");
   break;
  case "Tuesday":
   console.log("It's Tuesday!");
   break;
  default:
   console.log("It's another day!");
 }
 

حلقه ها در جاوا اسکریپت: تکرار کد

حلقه ها (Loops) به شما امکان می دهند تا یک بلوک کد را چندین بار تکرار کنید. مهمترین حلقه ها در جاوا اسکریپت عبارتند از:

  • for loop: برای تکرار یک بلوک کد برای تعداد مشخصی از دفعات.
  • while loop: برای تکرار یک بلوک کد تا زمانی که شرط خاصی درست باشد.
  • do...while loop: مانند حلقه while است، اما بلوک کد حداقل یک بار اجرا می شود، حتی اگر شرط در ابتدا نادرست باشد.
  • for...in loop: برای تکرار بر روی ویژگی های یک شیء.
  • for...of loop (ES6): برای تکرار بر روی مقادیر قابل شمارش (iterable) مانند آرایه ها، رشته ها و Map ها.

مثال هایی از حلقه ها


 // for loop
 for (let i = 0; i < 5; i++) {
  console.log(i);
 }

 // while loop
 let i = 0;
 while (i < 5) {
  console.log(i);
  i++;
 }

 // do...while loop
 let j = 0;
 do {
  console.log(j);
  j++;
 } while (j < 5);

 // for...in loop
 let person = {
  name: "John Doe",
  age: 30
 };

 for (let key in person) {
  console.log(key + ": " + person[key]);
 }

 // for...of loop
 let numbers = [1, 2, 3, 4, 5];

 for (let number of numbers) {
  console.log(number);
 }
 

توابع در جاوا اسکریپت: سازماندهی و استفاده مجدد از کد

توابع (Functions) بلوک هایی از کد هستند که می توانند بارها و بارها فراخوانی شوند. توابع به شما امکان می دهند تا کد خود را سازماندهی کنید، استفاده مجدد از کد را آسان تر کنید و خوانایی کد را بهبود بخشید.

تعریف و فراخوانی توابع

برای تعریف یک تابع در جاوا اسکریپت، از کلمه کلیدی function استفاده می کنیم. توابع می توانند پارامترهایی (parameters) را به عنوان ورودی دریافت کنند و یک مقدار را به عنوان خروجی برگردانند (return). برای فراخوانی (call) یک تابع، از نام تابع به همراه پرانتز استفاده می کنیم.

انواع توابع

  • توابع اعلانی (Function Declarations): با استفاده از کلمه کلیدی function تعریف می شوند.
  • توابع عبارتی (Function Expressions): به عنوان بخشی از یک عبارت (expression) تعریف می شوند. توابع عبارتی می توانند بی نام (anonymous) باشند، یعنی نام نداشته باشند.
  • توابع فلشی (Arrow Functions) (ES6): یک روش مختصر برای تعریف توابع، به ویژه توابع تک خطی.
  • توابع سازنده (Constructor Functions): برای ایجاد اشیاء جدید استفاده می شوند.

مثال هایی از توابع


 // Function Declaration
 function greet(name) {
  return "Hello, " + name + "!";
 }

 // Function Expression (Anonymous Function)
 let add = function(x, y) {
  return x + y;
 };

 // Arrow Function
 let multiply = (x, y) => x * y;

 // Constructor Function
 function Person(name, age) {
  this.name = name;
  this.age = age;
 }

 let john = new Person("John Doe", 30);

 console.log(greet("John")); // خروجی: Hello, John!
 console.log(add(5, 3)); // خروجی: 8
 console.log(multiply(5, 3)); // خروجی: 15
 console.log(john.name); // خروجی: John Doe
 

آرایه ها در جاوا اسکریپت: مجموعه های مرتب

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

تعریف و دسترسی به عناصر آرایه

برای تعریف یک آرایه در جاوا اسکریپت، از علامت های کروشه ([]) استفاده می کنیم. عناصر آرایه با استفاده از اندیس (index) به آنها دسترسی پیدا می کنیم. اندیس آرایه از 0 شروع می شود.

متدهای آرایه

جاوا اسکریپت متدهای (methods) زیادی را برای دستکاری آرایه ها ارائه می دهد، از جمله:

  • push(): اضافه کردن یک عنصر به انتهای آرایه.
  • pop(): حذف آخرین عنصر آرایه.
  • shift(): حذف اولین عنصر آرایه.
  • unshift(): اضافه کردن یک عنصر به ابتدای آرایه.
  • splice(): حذف یا اضافه کردن عناصر در یک موقعیت خاص در آرایه.
  • slice(): ایجاد یک کپی سطحی (shallow copy) از بخشی از آرایه.
  • concat(): ادغام دو یا چند آرایه.
  • join(): تبدیل آرایه به یک رشته.
  • indexOf(): یافتن اندیس اولین عنصر منطبق با یک مقدار خاص.
  • lastIndexOf(): یافتن اندیس آخرین عنصر منطبق با یک مقدار خاص.
  • forEach(): اجرای یک تابع بر روی هر عنصر آرایه.
  • map(): ایجاد یک آرایه جدید با اعمال یک تابع بر روی هر عنصر آرایه اصلی.
  • filter(): ایجاد یک آرایه جدید با فیلتر کردن عناصر آرایه اصلی بر اساس یک شرط خاص.
  • reduce(): اعمال یک تابع بر روی تمام عناصر آرایه و کاهش آنها به یک مقدار واحد.
  • sort(): مرتب سازی عناصر آرایه.
  • reverse(): برعکس کردن ترتیب عناصر آرایه.

مثال هایی از آرایه ها


 let numbers = [1, 2, 3, 4, 5];

 console.log(numbers[0]); // خروجی: 1
 console.log(numbers.length); // خروجی: 5

 numbers.push(6);
 console.log(numbers); // خروجی: [1, 2, 3, 4, 5, 6]

 numbers.pop();
 console.log(numbers); // خروجی: [1, 2, 3, 4, 5]

 numbers.forEach(function(number) {
  console.log(number * 2);
 });

 let doubledNumbers = numbers.map(function(number) {
  return number * 2;
 });
 console.log(doubledNumbers); // خروجی: [2, 4, 6, 8, 10]

 let evenNumbers = numbers.filter(function(number) {
  return number % 2 === 0;
 });
 console.log(evenNumbers); // خروجی: [2, 4]
 

درک این مبانی سینتکس جاوا اسکریپت، شما را قادر می سازد تا برنامه های تعاملی وب را توسعه دهید. با تمرین و آزمایش، می توانید مهارت های خود را بهبود بخشید و به یک توسعه دهنده وب ماهر تبدیل شوید.

```

“تسلط به برنامه‌نویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”

قیمت اصلی 2.290.000 ریال بود.قیمت فعلی 1.590.000 ریال است.

"تسلط به برنامه‌نویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"

"با شرکت در این دوره جامع و کاربردی، به راحتی مهارت‌های برنامه‌نویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر می‌سازد تا به سرعت الگوریتم‌های پیچیده را درک کرده و اپلیکیشن‌های هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفه‌ای و امکان دانلود و تماشای آنلاین."

ویژگی‌های کلیدی:

بدون نیاز به تجربه قبلی برنامه‌نویسی

زیرنویس فارسی با ترجمه حرفه‌ای

۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان