وبلاگ
مبانی سینتکس جاوا اسکریپت: هر آنچه برای وب نیاز دارید
فهرست مطالب
“تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان
0 تا 100 عطرسازی + (30 فرمولاسیون اختصاصی حامی صنعت)
دوره فوق فشرده مکالمه زبان انگلیسی (ویژه بزرگسالان)
شمع سازی و عودسازی با محوریت رایحه درمانی
صابون سازی (دستساز و صنعتی)
صفر تا صد طراحی دارو
متخصص طب سنتی و گیاهان دارویی
متخصص کنترل کیفی شرکت دارویی
“`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”
"تسلط به برنامهنویسی پایتون با هوش مصنوعی: آموزش کدنویسی هوشمند با ChatGPT"
"با شرکت در این دوره جامع و کاربردی، به راحتی مهارتهای برنامهنویسی پایتون را از سطح مبتدی تا پیشرفته با کمک هوش مصنوعی ChatGPT بیاموزید. این دوره، با بیش از 6 ساعت محتوای آموزشی، شما را قادر میسازد تا به سرعت الگوریتمهای پیچیده را درک کرده و اپلیکیشنهای هوشمند ایجاد کنید. مناسب برای تمامی سطوح با زیرنویس فارسی حرفهای و امکان دانلود و تماشای آنلاین."
ویژگیهای کلیدی:
بدون نیاز به تجربه قبلی برنامهنویسی
زیرنویس فارسی با ترجمه حرفهای
۳۰ ٪ تخفیف ویژه برای دانشجویان و دانش آموزان