🔤 زبان: فارسی + English 👶 سطح: مبتدی تا پیشرفته (Beginner to Advanced) 🌐 قابل استفاده برای فرانتاند، بکاند و فولاستک
🇫🇮 فارسی: جاوااسکریپت یک زبان اسکریپتی قدرتمند برای تعامل با صفحات وب و ساخت اپلیکیشنهای تحت وب است. 🇺🇸 English: JavaScript is a powerful scripting language used to create dynamic and interactive web content.
console.log("Hello, world!");
🗣️ 🇫🇮 فارسی: برای نمایش خروجی در کنسول مرورگر استفاده میشود. 🇺🇸 English: Prints output to the browser's console.
var x = 10;
let y = 20;
const z = 30;
🧠 🇫🇮 فارسی: برای ذخیره دادهها در حافظه استفاده میشود. 🇺🇸 English: Used to store data in memory.
let name = "Ali"; // String
let age = 25; // Number
let isOnline = true; // Boolean
let address = null; // Null
let phone; // Undefined
let person = { name: "Ali", age: 25 }; // Object
let numbers = [1, 2, 3]; // Array
// Arithmetic
+ - * / %
// Comparison
== === != !== > < >= <=
// Logical
&& || !
if (age > 18) {
console.log("Adult");
} else {
console.log("Minor");
}
let result = age > 18 ? "Adult" : "Minor"; // Ternary
// For loop
for (let i = 0; i < 5; i++) {
console.log(i);
}
// While loop
let i = 0;
while (i < 5) {
console.log(i++);
}
// Do...while
do {
console.log(i++);
} while (i < 10);
// For...of
for (let item of [10, 20, 30]) {
console.log(item);
}
// For...in
for (let key in {a: 1, b: 2}) {
console.log(key);
}
function greet(name) {
return "Hello, " + name;
}
const greet2 = (name) => "Hi, " + name;
function welcome(name = "Guest") {
console.log("Welcome, " + name);
}
let person = {
name: "Sara",
age: 30,
greet() {
console.log("Hi, I'm " + this.name);
}
};
let nums = [1, 2, 3];
nums.push(4); // Add
nums.pop(); // Remove last
nums.shift(); // Remove first
nums.unshift(0); // Add to start
nums.forEach(n => console.log(n));
let nums = [1, 2, 3, 4];
nums.map(n => n * 2); // [2, 4, 6, 8]
nums.filter(n => n % 2 === 0); // [2, 4]
nums.reduce((a, b) => a + b); // 10
nums.find(n => n > 2); // 3
const { name, age } = { name: "Ali", age: 30 };
const [a, b] = [10, 20];
let arr = [1, 2, 3];
let newArr = [...arr, 4]; // Spread
function sum(...nums) { // Rest
return nums.reduce((a, b) => a + b, 0);
}
function factorial(n) {
if (n === 1) return 1;
return n * factorial(n - 1);
}
try {
risky();
} catch (error) {
console.error(error.message);
} finally {
console.log("Done");
}
// A.js
export const name = "Ali";
export default function hello() {
console.log("Hello");
}
// B.js
import hello, { name } from './A.js';
hello();
class Person {
constructor(name) {
this.name = name;
}
speak() {
console.log("Hi, I'm " + this.name);
}
}
const p = new Person("Ali");
p.speak();
console.log("Start");
setTimeout(() => {
console.log("Timeout");
}, 0);
console.log("End");
// Output: Start -> End -> Timeout
<button onclick="sayHi()">Click me</button>
<script>
function sayHi() {
alert("Hello!");
}
</script>
document.getElementById("title").textContent = "New Title";
document.querySelector("p").style.color = "red";
const user = { profile: { name: "Sara" } };
console.log(user?.profile?.name); // "Sara"
console.log(user?.address?.city); // undefined
let name = null;
console.log(name ?? "Guest"); // "Guest"
const myPromise = new Promise((resolve, reject) => {
setTimeout(() => {
const success = true;
if(success) resolve("عملیات موفق بود!");
else reject("عملیات شکست خورد!");
}, 1000);
});
myPromise
.then(result => console.log(result))
.catch(error => console.error(error));
async function fetchData() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/posts/1');
const data = await response.json();
console.log(data);
} catch (error) {
console.error("خطا در دریافت داده:", error);
}
}
fetchData();
let mySet = new Set([1, 2, 3]);
mySet.add(4);
let myMap = new Map();
myMap.set("name", "Ali");
console.log(myMap.get("name"));
function* generator() {
yield 1;
yield 2;
yield 3;
}
const gen = generator();
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // 3
const sym = Symbol('id');
const obj = {
[sym]: 123
};
console.log(obj[sym]); // 123
const target = {};
const handler = {
get(target, prop) {
return `ویژگی ${prop} خوانده شد`;
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.anything); // ویژگی anything خوانده شد
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error('خطا:', err));
// LocalStorage
localStorage.setItem('name', 'علی');
console.log(localStorage.getItem('name')); // "علی"