Created
January 20, 2024 08:19
-
-
Save pooooriya/93dea7a404e2a1649461e8e6e92c9651 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// "use strict"; | |
// Command Linux | |
// ls -> list system | |
// cd -> change directory | |
// mkdir -> directory misazad (folder) | |
// touch -> file misazad | |
// rm -rf [esm file] -> file ra pak mikonad | |
// * -> wild card | |
// object method | |
// concat | |
// ...spread ~~~ object.assign => | |
// har gah mikhahim 2 object ra ba ham concat konim | |
// dar soorat yeksan boodan property haie object aval ba object dovom | |
// tanha meghdar anha update va override mishavad | |
// badihi ast agr property ee yeksan nabashad | |
// concat etefagh mioftad | |
// const information1 = { | |
// name: "ali", | |
// age: 18, | |
// country: "iran" | |
// }; | |
// const information2 = { | |
// name: "pouriya", | |
// age: 20 | |
// }; | |
// console.log(Object.assign(information1, information2)); | |
// senario | |
// آدمی در ثبت احوال ثبت شده | |
// سن 18 عه - سن 19 | |
// const information = { | |
// name: "ali", | |
// age: 18, | |
// country: "iran" | |
// }; | |
// database | |
// 1.update | |
// information.age = 19; | |
// information.country = "usa"; | |
// console.log(information); | |
// 2.update | |
// const form ={ age: 19, country: "usa" } | |
// Object.assign(information, { age: 19, country: "usa" }); | |
// console.log(information); | |
// 3.spread ~~ Object.assign ~~ React | |
// const spread = { ...information, age: 20 }; | |
// console.log(spread); | |
// array methods | |
// 1.concat | |
// const arr1 = ["1", "2", "3"]; | |
// const arr2 = ["4", "5", "6"]; | |
// const arr3 = arr1.concat(arr2); | |
// console.log(arr3); | |
// 2.length | |
// const arr1 = ["1", "2", "3"]; | |
// console.log(arr1.length); | |
// senario | |
// const data = []; | |
// if(data.length > 0){ // یعنی اگر دیتایی وجود داشت | |
// // این کار انجام شود | |
// return "لیستی وجود ندارد" | |
// } | |
// 3. foreach . map | |
// const arr1 = ["1", "2", "3"]; | |
// 0 1 2 | |
// 3<3 | |
// for (let i = 0; i < arr1.length; i++) { | |
// const element = arr1[i]; | |
// if (element) { | |
// console.log(element); | |
// } | |
// } | |
// for (const item of arr1) { | |
// console.log(item); | |
// } | |
// arr1.forEach((element) => { | |
// console.log(element); | |
// }); | |
/// ~~~~~~~~~~~~~~~~REACT~~~~~~~~~~~~~~~~~~~ | |
// arr1.map((item)=>{ | |
// console.log(item) | |
// }) | |
// 4. push | |
// const arr1 = ["1", "2", "3"]; | |
// const x = []; | |
// arr1.forEach((item) => { | |
// if (item === 1) { | |
// x.push(item); | |
// } | |
// }); | |
// console.log(x); | |
// 5. Pop Shift UnShift | |
// const arr1 = ["1", "2", "3"]; | |
// arr1.pop(); // khonne akhr -> item hazf mishavad | |
// console.log(arr1); | |
// console.log(arr1.pop()); | |
// pop => element ke hazf return | |
// array asli dochar taghir mishvad (source) | |
// console.log(arr1.shift()); | |
// console.log(arr1); | |
// soal hazf 2 ba estefade az shift ya pop | |
// soal hazf 2 => ba hazf krdn array akhr ya aval | |
// vorodi const arr1 = ["1", "2", "3"]; | |
// khuruji const result = ["1", "3"]; | |
// 80 % halghe loop | |
// const arr1 = ["1", "2", "3"]; | |
// const result = []; | |
// arr1.forEach((item)=>{ | |
// if(item != "2"){ | |
// result.push(item) | |
// } | |
// }) | |
// ******************************* | |
// arr1.forEach((item) => { | |
// const deleteElement = arr1.shift(); | |
// console.log(deleteElement, "d"); | |
// console.log(item, "i"); | |
// // const deleteElement = arr1.shift(); | |
// // //1 | |
// // console.log(item); | |
// }); | |
// console.log(result); | |
// unshift ! push | |
// const arr1 = ["1", "2", "3"]; | |
// console.log(arr1.unshift("0")); // length array | |
// console.log(arr1); | |
// flat | |
// const arr1 = ["1", [["2"]], "3", ["4"]]; | |
// //arr1.flat() => array asli dochar taghir nemishavad | |
// const arr2 = arr1.flat().flat(); | |
// const result = ["1", "2", "3", "4"]; | |
// reverse | |
// const arr = ["1", "2", "3", "4"]; | |
// arr.reverse(); // array asli dochar modify mishavad | |
// console.log(arr.reverse()); // array bedone taghir ra bar migardanad | |
// console.log(arr); | |
// sort | |
// const arr = [12, 43, 52, 1, 3221, 432, 3213, 32, 31]; | |
// 1.method | |
// desc => نزولی => از بیشترین به کمترین | |
// asc => صعودی => از کمترین به بیشترین | |
// arr.sort((a, b) => a - b); | |
// arr.sort((a, b) => b - a); | |
// console.log(arr); | |
// sort => array | |
// sort => array (arraye khudaman ra sort mikonad) | |
// 2. khudet benevis bedon method : | |
// tamrin jalase badd | |
// pishniaz func | |
// const array = ["+98", "912", "1234567"]; | |
// // ==>string | |
// array.join(""); | |
// console.log(array.join("")); | |
// senario | |
// otp khud ra vared kunid | |
// 2 3 4 5 | |
// const otp = [2, 3, 4, 5]; | |
// otp.join(""); | |
// console.log(otp.join("")); //bedon modify kardn array be man string jadid midahad | |
// server => "2345" | |
// ex: | |
// const array = ["12", "1234567"]; | |
// const phone = array.join(""); | |
// // validation | |
// if (!phone.startsWith("09")) throw new Error("شماره شما نامعتبر است"); | |
// console.log(phone.padStart(11, 0)); | |
// const otp = [2, 3, 4, 4, 4, 5]; | |
// console.log(otp[2]); | |
// console.log(otp.findIndex((element) => element == 4)); // index | |
// console.log(otp.findIndex((element) => element == 6)); // -1 | |
// console.log(otp.findLastIndex((element) => element == 6)); | |
// search roie array ha | |
// const numbers = [2, 3, 4, 4, 4, 5]; | |
// 1. Filter => array (new) | |
// 1. chandta 4 dakhel numbers | |
// const fourArrays = numbers.filter((element) => element === 4); | |
// console.log(fourArrays.length); | |
// 2. bishtar az 3 hara be man bede | |
// console.log(numbers.filter((element) => element > 3)); | |
// search karbar benevisam | |
// const books = ["بهشت گمشده", "ملت عشق", "یو دونت نو جی اس", "تست", "تست2"]; | |
// //"مل" => ملت عشق | |
// console.log(books.filter((x) => x.startsWith("مل"))); | |
// // عشق | |
// console.log(books.filter((x) => x.includes("عشق"))); | |
// // گمشده | |
// console.log(books.filter((x) => x.endsWith("گمشده"))); | |
// find | |
// const numbers2 = ["912", "12", "4554", "4554", "554848"]; | |
// console.log(numbers2.find((x) => x === "4554")); // value | |
// avalin chizi ke bebind ba shart ma yeki ast | |
// const information3 = [ | |
// { id: 1, name: "ali" }, | |
// { id: 2, name: "pouriya" } | |
// ]; | |
// console.log(information3.find((x) => x.id === 1)); | |
// find => object | |
// filter => array | |
// const information32 = [[2], [3], [[4]], [[[[[[[[[12]]]]]]]]]]; | |
// console.log(information32.find((x) => x == 12)); // array | |
// console.log([[[[[[[[[[[[[[[[[[[[[[12]]]]]]]]]]]]]]]]]]]]]] == 12); | |
// filter vs find | |
// 1. filter => array , find => chizike bedst miare | |
// 2. filter tamami maghadir momken ra barmigardand dar hali ke find avali ro | |
// 3. filter dar soorat peida nakardn shart ma => [] dar soorati ke find => undefind | |
// دوز | |
// 9 ta khune | |
// jalase badd tamrin mikonid XD | |
// X 1 => true | |
// O 0 => false | |
// const team1 = "X"; | |
// const team2 = "O"; | |
// const square = Array(9).fill(null); | |
// tamrin alghoritm XO | |
//team1 | |
//team2 | |
//team1 | |
//team2 | |
// =>team1 winner | |
// reduce | |
// سبد خرید | |
// const checkout = [ | |
// { id: 1, name: "بستنی فررو پلاس", price: 93000, count: 2 }, | |
// { id: 2, name: "بستنی فررو ", price: 60000, count: 3 }, | |
// { id: 2, name: "بستنی فررو ", price: 30000, count: 6 }, | |
// { id: 2, name: "بستنی فررو ", price: 120000, count: 9 } | |
// ]; | |
// جمع فاکتور را محاسبه کن | |
// let result = 0; | |
// checkout.forEach((item) => { | |
// result += item.price * item.count; | |
// // result = result + item.price * item.count; | |
// }); | |
// 0 1 => | |
// [0,1] 2 | |
// [0,1,2] 3 | |
// [0,1,2,3] 4 | |
// const sumBasket = checkout.reduce( | |
// (accumlator, currentValue) => | |
// accumlator + currentValue.count * currentValue.price, | |
// 0 | |
// ); | |
// console.log(result); | |
// چنتا خریده ؟ | |
// let count = 0; | |
// checkout.forEach((item) => { | |
// count += item.count; | |
// // result = result + item.price * item.count; | |
// }); | |
// const count = checkout.reduce( | |
// (accumlator, currentValue) => accumlator + currentValue.count, | |
// 0 | |
// ); | |
// console.log(count); | |
// // ex: | |
// const checkout2 = [ | |
// { | |
// id: "292536", | |
// count: 1 | |
// }, | |
// { | |
// id: "457163", | |
// count: 1 | |
// }, | |
// { | |
// id: "657703", | |
// count: 1 | |
// } | |
// ]; | |
// const sum = checkout2.reduce( | |
// (accumlator, currentValue) => accumlator + currentValue.count, | |
//{} | |
// ); | |
// group by - reduce (key,{}) | |
// [{ | |
// name:"ali", | |
// age:20 | |
// } | |
// , | |
// { | |
// name:"pouriya", | |
// age:20 | |
// } | |
// , | |
// { | |
// name:"pouriya2", | |
// age:23 | |
// }] | |
// => {20:[{ | |
// { | |
// name:"pouriya", | |
// age:20 | |
// }, | |
// { | |
// name:"ali", | |
// age:20 | |
// } | |
// }]} | |
// console.log(sum); | |
// function => none premetive ha => تابع | |
// function sum(a, b) { | |
// return a + b; | |
// } | |
// console.log(sum(5, 10)); | |
// 2 روش تعریف فانکشن | |
// declaration function | |
// function sum(a, b) { | |
// return a + b; | |
// } | |
// // expression function | |
// const sum = function (a, b) { | |
// return a + b; | |
// }; | |
// tafavot : | |
// hoist shudn | |
// declaration function be bala hoist mishavad | |
// expresion function => - | |
// console.log(sum2(5, 10)); | |
// // declaration function | |
// function sum2(a, b) { | |
// return a + b; | |
// } | |
// hoist be bala !!!!! | |
// console.log(sum(5, 10)); | |
// const sum = function (a, b) { | |
// return a + b; | |
// }; | |
// console.log(sum(5, 10)); | |
// var sum = function (a, b) { | |
// return a + b; | |
// }; | |
// const sum = (a, b) => { | |
// return a + b; | |
// }; | |
// console.log(sum(5, 10)); | |
// IFEE Immediately Invoked Function Expression | |
// (() => { | |
// console.log("Salam"); | |
// })(); | |
// corecion none premetive haaaaa | |
// premetive => premetive | |
// tostring(); | |
// toValue(); | |
// console.log([[[[[[[[[[[[[12]]]]]]]]]]]]] == 12); | |
// JSON | |
// string => json | |
// json => string | |
// const gelato = | |
// '{"name":"ali","family":"babaali","age":12,"information":{"country":"iran"},"chats":["سلام","چطوری","خوبم؟"]}'; | |
// console.log(JSON.parse(gelato)); | |
// const x = { | |
// name: "ali", | |
// family: "babaali", | |
// age: 12, | |
// information: { | |
// country: "iran" | |
// }, | |
// chats: ["سلام", "چطوری", "خوبم؟"] | |
// }; | |
// console.log(JSON.stringify(x)); | |
// // api browser | |
// const sum = (a, b) => a + b; | |
// clearTimeout() // cancel // ejbari | |
// const x2 = setTimeout(() => { | |
// console.log(sum(5, 10)); | |
// }, 5000); //5s | |
// setInterval(() => { | |
// console.log("har kas hast salam"); | |
// }, 3000); | |
// clearInterval(x) | |
// var x=setInterval(() => { | |
// console.log("har kas hast salam"); | |
// }, 3000); | |
// ***************************clearInterval********************* | |
// single page application => refresh nemikonim | |
// setintervall ta akhr apllication zendast | |
// setintervall => clearintervall | |
// localstorage | |
// json zakhire konam => [object,object] | |
// string | |
// local storage vs session storage vs cookie | |
// life time | |
// localstorage -> ya developer an ra pak nakon , madami ke karbar be tor dasti data ra pak nakon | |
// rooie mroorgr karbar | |
// session storage -> baz boodn tab | |
// cookie -> expiration time | |
// karbar ya developer | |
// expire at => 23-12-2024 | |
// ++++++++++++ | |
// senario | |
// app.blubank.com // subdomain app | |
// blubank.com | |
// junior.blubank.com | |
// auth.blubank.com // subdomain app | |
// cookie mitavand rooie path zakhire shavad | |
// cookie => *.blubank.com | |
// **** least 300 cookies with a maximum size of 4096 bytes | |
// snapp => snappfood , snappdoctor , .... | |
// how to store ? | |
// key value(string|number|boolean(premetive)) | |
// "checkout" - "[{id:1,name:"فررو پلاس"}]" | |
// localstorage | |
// localStorage.setItem("user", "5"); | |
// localStorage.removeItem("user"); | |
//sessionStorage.setItem("user", "5"); | |
// sessionStorage.removeItem("user"); | |
// cookie | |
// document.cookie = "username=ali"; | |
// shallow deep copy object | |
// spread | |
// 3:17 +++++++ state react | |
// const person = { | |
// name: "ali", | |
// family: "babaali", | |
// country: { | |
// name: "iran", | |
// phone: "+98" | |
// } | |
// }; | |
// person.name = "pouriya"; | |
// person.country.name = "usa"; | |
// console.log(person); | |
// const copy = { ...person }; | |
// copy.name = "mohsen"; | |
// console.log(copy); | |
// console.log(person); | |
// const copy = { ...person }; | |
// copy.country.phone = "+0"; | |
// console.log(copy); | |
// console.log(person); | |
// function +++ | |
// const deepCopy = JSON.parse(JSON.stringify(person)); | |
// deepCopy.country.phone = "+0"; | |
// console.log(deepCopy); | |
// console.log(person); | |
// ex: | |
// const state = { | |
// name: "ali", | |
// country: { | |
// province: "africa", | |
// name: { | |
// info: "iran" | |
// } | |
// } | |
// }; | |
// const deepCopy = JSON.parse(JSON.stringify(state)); | |
// deepCopy.country.name.info = "usa"; | |
// state = deepCopy; | |
// console.log(state); | |
// const newState = { | |
// ...state, | |
// ...{ country: { name: { info: "usa2222" } } } | |
// }; | |
// console.log(newState); | |
// *************************************** | |
// { | |
// // id:645412584218541848541854185484 => 64541258421854000 | |
// id:"4544584845848484848484848484" => | |
// } | |
// destructre | |
// use | |
// console.log(person.teacher.family); | |
// console.log(person["teacher"]["family"]); | |
// destructring | |
// rest operator | |
// rest of the other thing | |
// ...rest => object | |
// **** har moghe ke man az dakhel objecti chizi ra destruce | |
// an meghdar ast ke braiaash const sakhte mishavad na kole objecte | |
// **** har gah az dakhel yek object meghdari destruce shavad | |
// rest operator dgr ba object kar nadarad va engar ke | |
// az dakhel boghche avordimesh birun | |
// name gozashtim jibemon | |
// baghish andakhtim satl ashghal | |
// dast be mohre bazie **** | |
// alias => nam mostaar => taghir name | |
// har gah didi do ta property mesle ham shodand | |
// bayd az alias estefade koni ta do moteghiar ba do esm moshabah | |
// nabini !!!!! | |
// const { | |
// name: personName, | |
// fullname, | |
// ...rest | |
// } = { | |
// name: "john", | |
// family: "deo", | |
// age: 20, | |
// country: "iran", | |
// numbers: ["09121234567", "09351234567"], | |
// fullname() { | |
// return this.name + this.family; | |
// }, | |
// courses: [ | |
// { | |
// id: 1, | |
// name: "ادبیات فارسی" | |
// } | |
// ], | |
// teacher: { | |
// name: "mostafa", | |
// family: { | |
// id: 1, | |
// name: { | |
// id: 1, | |
// name: "ادبیات فارسی" | |
// } | |
// } | |
// } | |
// }; | |
// console.log(person.fullname()); | |
// spread vs rest | |
// spread => object =>{id:1}, {name:2} => {...obj1,...obj2} => Object.Assign(obj1,obj2) | |
// rest => destructring | |
// const { age, country, courses, family, name, numbers, teacher } = person; | |
// console.log(age, country, courses, teacher); | |
// const name2 = "function sum(a,b){ return a+b;}"; | |
// console.log(eval(name2(1, 2))); | |
// class => syntax suger => function(){} | |
// class Car { | |
// name; //property | |
// color; | |
// type; | |
// speed; | |
// constructor(name, color, type) { | |
// this.name = name; | |
// this.color = color; | |
// this.type = type; | |
// } | |
// getCarName() { | |
// return this.name; | |
// } | |
// setCarName(name) { | |
// this.name = name; | |
// } | |
// handleSpeed(){ | |
// if(speed > 120){ | |
// alert("سرعت شما غیر مجاز است") | |
// } | |
// } | |
// } | |
// class Bird{ | |
// name; | |
// color; | |
// type; | |
// handleLandOnTree(){ | |
// } | |
// handleFlyOnSky(){ | |
// } | |
// } | |
// class besazam ke har bar nakhad new beshe? | |
// ravash aval => static | |
// class Car { | |
// static family; | |
// constructor() {} | |
// static getName() { | |
// console.log("salam dadash"); | |
// } | |
// } | |
// Car.getName(); | |
// Car.family; | |
// static => yekbar new mishavad | |
// singleton => yekbar new beshavam !!!!!! cache system | |
// const person = { | |
// name: "ali" | |
// }; | |
// person.name = "mohsen"; | |
// person.age = 20; | |
// console.log(person); | |
// class Car { | |
// name2 = "ali"; | |
// constructor() { | |
// console.log(Car._asghar, "Car._asghar"); | |
// if (!Car._asghar) { | |
// Car._asghar = this; | |
// } | |
// this.name2 = "mohsen"; | |
// } | |
// } | |
// // ex: | |
// const carInstance1 = new Car(); | |
// const carInstance2 = new Car(); | |
// const carInstance3 = new Car(); | |
// console.log(carInstance1.name2, carInstance2.name2, carInstance3.name2); | |
// // use | |
// const fariborzCar = new Car("207", "white", "pegout"); | |
// console.log(fariborzCar.getCarName()); | |
// console.log(fariborzCar.setCarName("2008")); | |
// console.log(fariborzCar.getCarName()); | |
// hof | |
// const sum = (a, b, onSumCompleted, onSumStarted) => { | |
// onSumStarted(); | |
// const c = a + b; | |
// onSumCompleted(c); | |
// return c; | |
// }; | |
// console.log( | |
// sum( | |
// 10, | |
// 15, | |
// (sum) => { | |
// console.log("عملیات جمع زدن انجام شد"); | |
// }, | |
// () => { | |
// console.log("عملیات جمع زدن در حال انجام شدن است"); | |
// } | |
// ) | |
// ); | |
// callback promise async await | |
// **** MICRO TASK > MACRO TASK | |
//macro => browser | |
// setInterval(() => { | |
// }, interval); | |
// setTimeout(() => { | |
// }, timeout); | |
// console.log() | |
// event loop | |
//ex:1 | |
// console.log("1"); | |
// setTimeout(() => { | |
// console.log("2"); | |
// }, 1000); | |
// console.log("3"); | |
// ex:2 | |
// console.log("1"); | |
// setTimeout(() => { | |
// console.log("2"); | |
// }, 0); | |
// console.log("3"); | |
// macrotask queue | |
// tasmim 2 -> settimeout -> zaman (event loop) | |
// console.log(3) -> return | |
//132 | |
//microtask>macrotask | |
// console.log("1"); // microtask | |
// setTimeout(() => { | |
// // macrotask | |
// console.log("2"); // microtask | |
// setTimeout(() => { | |
// // macrotask | |
// console.log("3"); // microtask | |
// }, 0); | |
// console.log("4"); // microtask | |
// }, 0); | |
// console.log("5"); // microtask | |
// window document | |
// console.log(document); | |
// console.log(localStorage); | |
// console.log(sessionStorage); | |
// console.log(window.document); | |
// this (call,bind,apply) | |
// global scope => window | |
// console.log(this); | |
// function vs arrow function | |
// this | |
// this dar function dakhel object => object => excution context | |
// this dar arrow func dakhel object => global scope => window => excution context | |
// const information3 = { | |
// name2: "ali", | |
// getName() { | |
// console.log(this); | |
// return information3.getName2(this.name2); | |
// }, | |
// getName2(name) { | |
// console.log(name); | |
// } | |
// }; | |
// console.log(information3.getName()); | |
// use strict + => undefiend | |
// use strict - => window | |
// function test() { | |
// console.log(this); | |
// } | |
// test(); | |
// const s = () => { | |
// console.log(this); | |
// }; | |
// this be khudesh eshare mikonad(car) | |
// class car { | |
// constructor() { | |
// // console.log(this); | |
// } | |
// getName() { | |
// //this be khudesh eshare mikonad (car) | |
// console.log(this); | |
// } | |
// getName2 = () => { | |
// console.log(this); | |
// }; | |
// } | |
// console.log(new car().getName2()); | |
// (call,bind,apply) => this () | |
// const info = { | |
// name: "ali", | |
// family: "babaali" | |
// }; | |
// function sum2() { | |
// console.log(this); | |
// } | |
// const sum3 = sum2.bind(info); // hichmoghe func asli ra taghir nmidahad balke func jdid ba this jdid misazd | |
// sum3(); | |
// sum2.apply(info); | |
// sum2(); | |
// // sum(); | |
// sum.call(info); | |
// Call vs Bind vs Apply | |
// Invoke | |
// sum2.call(info); | |
// sum2.apply(info); | |
// const sum3 = sum2.bind(info); | |
// sum3(); | |
// function sum2(a, b) { | |
// console.log(this, a + b); | |
// } | |
// Parameter | |
// apply vs call (a) => array | call (c) =>comma | |
// sum2.apply(info, [5, 10]); | |
// sum2.call(info, 5, 10); | |
// const sum3 = sum2.bind(info); | |
// sum3(10, 5); | |
// sum3(10, 5); | |
// const x = () => { | |
// console.log(this); | |
// }; | |
// x.call(info); | |
// const x2 = x.bind(info); | |
// x2(); | |
// x.apply(info); | |
// Call + Apply => Invoke | Bind => Invoke Nemishavad | |
// const x = () => { | |
// console.log(this); | |
// }; | |
// x.call(info); | |
// senario:React 16.8 | |
// class ReactComponent extend React.Component{ | |
// constructor(){ | |
// super(); | |
// this.GetValue = this.GetValue.bind(this); | |
// } | |
// GetValue(){ | |
// } | |
// render( | |
// <div onClick={this.GetValue}> | |
// </div> | |
// ) | |
// } | |
// closure | |
// function sum() { | |
// const x = "pouriya"; | |
// return function sum2(a, b) { | |
// console.log(x); | |
// return a + b; | |
// }; | |
// } | |
// const sum3 = sum(); | |
// console.log(sum3(10, 5)); | |
// function getFullName(name) { | |
// return function getFull() { | |
// console.log(name); | |
// }; | |
// } | |
// const asghar = getFullName("ali"); | |
// console.log(asghar); | |
// ajax | |
// promise async await cb | |
// dom maniuplation | |
// event -> event bubbling | |
// date | |
// encode decode | |
// map waek map | |
// proxy | |
// getter setter | |
// module | |
// export import required | |
// continue | |
// debugger | |
// try catch | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
یک آبجکت میسازید و تمامی آبجکت متود هارا روش اجرا میکنید
یک ارایه میسازید و تمامی ارایه متود هارا روش اجرا میکنید
بازیه XO
تمام آبجکت متد ها از قبیل ورودی و خروجی داخل یک برگه آچهار مینویسید و جلوی چشتون میزارید
تمام استرینگ متد ها از قبیل ورودی و خروجی داخل یک برگه آچهار مینویسید و جلوی چشتون میزارید
2. khudet benevis bedon method : tamrin jalase badd pishniaz func
group by - reduce
عواملی که جاوا اسکریپت رو مموری لیک میکنند
GC
desturcring chand level
alias , nested selection , rest
MICRO TASK > MACRO TASK
this mdn call apply bind
closure
Context in javascript ()