| کانال توسعه‌دهندگان جاوااسکریپت |
3.83K subscribers
37 photos
2 videos
28 links
⭕️ کانال توسعه‌دهندگان جاوااسکریپت دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
🌀 معرفی ‏Hoisting 🌀

🔸 توی پست قبل کمی در مورد Hoisting صحبت کردیم اما تو این پست می‌خوام یه توضیح کاملی در موردش بدم که ببینیم چی هست و چیکار می‌کنه.

🔹 جاوااسکریپت وقتی کد ما رو دریافت می‌کنه اولین کاری که می‌کنه راه‌اندازی حافظه هستش. میاد و متغیرها و توابعمون رو ذخیره می‌کنه. ولی خب ذخیره این دوتا کمی متفاوته که در ادامه توضیح می‌دم.

🔸جاوااسکریپت توابع رو به صورت کامل و با آدرس‌دهی کل تابع میاد و ذخیره می‌کنه.

🔹 اما در مورد متغیرها این مسئله متفاوته، متغیرهایی که با کلمه کلیدی var تعریف می‌شوند رو با مقدار undefined ذخیره می‌کنه و زمان اجرای کد وقتی به جایی که اون رو تعریف کردید می‌رسه، مقدارش رو بازنویسی می‌کنه. احتمالاً قبلا با این مسئله روبرو شدید که قبل از تعریف کردن var می‌خواستید که به مقدارش دسترسی داشته باشید ولی بهتون undefined می‌داده، دلیلش همینه.

🔸 اما در es6 دو تعریف جدید برای متغیرها معرفی شد که let و const بودن. جاوااسکریپت این متغیرها رو توی همون مرحله راه‌اندازی حافظه به صورت uninitialized ذخیره می‌کنه. برای جلوگیری از مشکلات، زمانی که بخواهید قبل از تعریف شدن به متغیرهایی که با let و const تعریف شدن دسترسی پیدا کنید ارور RefrenceError می‌گیرید. به همین دلیل هم بود که توی کوییز قبلی ما موقعی که می‌خواستیم به تابع writeHello دسترسی داشته باشیم ارور RefrenceError رو می‌گرفتیم.

👤 MHReza

💎 Channel: @DevelopixJavascript
👍7
| کانال توسعه‌دهندگان جاوااسکریپت |
👤 MHReza 💎 Channel: @DevelopixJavascript
🔸 در جاوااسکریپت یک عملگر پیچیده به نام «in» وجود داره که بعضی از افراد به اشتباه فکر میکنن که بر اساس مقداری که داخل یک آبجکت یا آرایه و ... وجود داره بررسی می‌کنه و فکر می‌کنند که خروجی اشتباهی رو گرفتن. داخل این پست بیاید با چند مثال یه نگاهی بهش داشته باشیم.

🔹عملگر in اگر پراپرتی مورد نظر داخل شئ مورد نظر وجود داشته باشه، به ما true برمی‌گردونه.

🔸 داخل مثال اول می‌بینید که ایندکس 1 و 2 داخل آرایمون وجود داره و برای همین به ما true رو برگردونده ولی ایندکس 3 رو پیدا نکرده و false برگردونده.

🔹 دومین مثالمون یه object هست. مشخصا ما پراپرتی name رو داریم توی آبجکتمون و به ما true برمی‌گردونه ولی وقتی اون رو حذف می‌کنیم مشخصا دیگه توی آبجکتمون نداریمش و false رو به ما برمی‌گردونه.
حالا اگه ما مقدار یه پراپرتی رو عوض کنیم چی؟ باز هم تغییری نمیکنه چون فقط به دنبال خود پراپرتی می‌گرده نه مقدارش

🔸 توی مثال سوم هم می‌بینید که ما ایندکس صفر رو داریم توی آرایمون و بهمون true رو برمی‌گردونه. ولی وقتی دنبال کلمه ali می‌گردیم بهمون false برمی‌گردونه چون هیچ کلیدی به نام ali توی آرایمون نداریم.

👤 MHReza

💎 Channel: @DevelopixJavascript
👍9👎21
🔹 شاید براتون سوال شده باشه که پس فرق in و متد hasOwnProperty چی هست. عملگر in علاوه بر اینکه بررسی می‌کنه پراپرتی یا متد مورد نظر داخل آبجکت وجود داره، این رو هم بررسی می‌کنه که آیا پراپرتی‌ای که دنبالش میگردیم توی پروتوتایپ اون آبجکت هم وجود داره یا نه.
ولی متد hasOwnProperty فقط دنبال پراپرتی یا متد داخل آبجکت می‌گرده و دیگه کاری به پروتوتایپ اون ابجکت نداره.

🔸 توی مثال بالا هم می‌تونید متوجه این موضوع بشید.

👤 MHReza

💎 Channel: @DevelopixJavascript
👍153
#سوال
خروجی به چه صورت هست⁉️

👤 MHReza

💎 Channel: @DevelopixJavascript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎1
جاوا اسکریپت همه جا کاربرد داره

⭕️ فرانت اند : میدونید که کلا همه چیز وب وابسته به js هست و کتابخونه هایی مثل react , vue , angular رو داره

⭕️ بک اند: به لطف node میتونیم js رو سمت سرور هم اجرا کنیم

⭕️ موبایل/دسکتاپ اپ: به کمک فریمورک electron میتونید برای موبایل و دسکتاپ اپ بسازید

⭕️ ماشین لرنینگ: با کتابخونه هایی مثل ml.js و tencorflow و... این کار رو هم انجام بدید

✳️ طبق آمار در سال 2023 جاوااسکریپت محبوب ترین زبان دنیا هست

👤 Matin soleymani

💎 Channel: @DevelopixJavascript
👍273🔥3👎1
فرض کنید چند آبجکت به این صورت دارید

const foo = { name: 'tom', age: 30, nervous: false }
const bar = { name: 'ahmad', age: 18, nervous: true }
const baz = { name: 'reza', age: 50, nervous: false }


اگه بخواید این‌ها رو به صورت عادی توی کنسول نمایش بدید از console.log()‎ استفاده می‌کنید. ولی برای قشنگ‌تر نشون دادن‌این آبجکت‌ها توی کنسول می‌تونید از متد console.table()‎ استفاده کنید. برای مثال بیاید این آبجکت‌های بالا رو با این متد نمایش بدیم.

console.table([foo, bar, baz]);


نتیجه رو می‌تونید توی عکس بالا ببینید که چقدر مرتب‌تر و زیباتر این‌ها رو برامون نمایش میده.

👤 MHReza

💎 Channel: @DevelopixJavascript
👍25🔥105
Forwarded from | Codilo |
🍉 یلدای امسال رو کُدیلویی بگذرونید!

🍓 تا پایان روز جمعه با دعوت دو کاربر جدید به کدیلو، فایل های کدیلو رو رایگان دریافت کنید

🥝 یلدای خوبی داشته باشید (:

💎 @Codilo
6👍1🔥1
توابع و توابع ناشناخته (anonymous functions)

در جاوااسکریپت، توابع (functions) یک بخش اساسی از زبان هستند و می‌توانند به عنوان مجموعه‌ای از دستورات باشند که یک وظیفه خاص را انجام می‌دهند. توابع می‌توانند به صورت ناشناخته (anonymous) یا با نام (named) تعریف شوند.

توابع ناشناخته (anonymous functions) بدون نام هستند و معمولاً به عنوان آرگومان یا مقدار یک متغیر استفاده می‌شوند. این توابع معمولاً در مواقعی که نیاز به یک وظیفه یا پاسخگویی خاص دارید، به کار می‌روند.

مثال:

// تعریف یک تابع ناشناخته (anonymous function)
var addNumbers = function(x, y) {
return x + y;
};

// فراخوانی تابع ناشناخته
var result = addNumbers(5, 10);

console.log(result); // خروجی: 15


مثال ES6:
const addNumbers = (x , y)=>{
return x + y
}

console.log(addNumbers(11 , 24))


در این مثال، تابع addNumbers به صورت ناشناخته تعریف شده است. این تابع دو عدد را به عنوان ورودی دریافت کرده و جمع آن‌ها را باز می‌گرداند. سپس با فراخوانی این تابع با مقادیر 5 و 10، نتیجه جمع به عنوان result ذخیره شده و در نهایت در کنسول چاپ می‌شود.

💎 Channel: @DevelopixJavascript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Forwarded from Developix Support
🔴 دوره آموزشی-استخدامی جاوا اسکریپت/ری‌اکت

از هر رشته‌ای که هستی، صفر تا صد ری‌اکت رو یاد بگیر، پروژه واقعی بزن و استخدام شو.

▫️۲۰۰ ساعت آموزش و پروژه
▫️دارای منتورینگ و پشتیبانی
▫️مدرک معتبر از دانشگاه علم و صنعت
▫️کمک به استخدام در صورت اتمام دوره

🌟 ۲۰ درصد تخفیف ثبت‌نام نقدی!

🔗 برای ثبت‌نام روی این لینک کلیک کنید.
👍4👎4
مفاهیم Scope و Hoisting

🟢 مفهوم Scope (دامنه)

در جاوااسکریپت، دامنه (Scope) به محدوده دید تعریف یک متغیر یا تابع اشاره دارد. هر متغیر یا تابع در یک دامنه مشخص قرار دارد و ممکن است در دامنه‌های مختلف قابل دسترسی باشد یا نباشد.

🟢 مفهوم Hoisting (انداختن به بالا)

مفهوم Hoisting به پدیده اشاره دارد که در زمان اجرا، تعریف توابع و متغیرها به بالا (به ابتدای دامنه) منتقل می‌شوند. این به معنای این است که می‌توانید یک متغیر را قبل از تعریف آن در کد استفاده کنید یا یک تابع را فراخوانی کنید حتی اگر تعریف آن بعد از استفاده آمده باشد.

مثال:
// مثال از Hoisting در تعریف تابع
hello(); // خروجی: "Hello, World!"

function hello() {
console.log("Hello, World!");
}

// مثال از Hoisting در تعریف متغیر
console.log(x); // خروجی: undefined
var x = 5;

// مثال از Scope
function exampleScope() {
var localVar = "I am a local variable";
console.log(localVar); // خروجی: "I am a local variable"
}

// console.log(localVar); // این خطا می‌دهد چرا که localVar در دامنه تابع تعریف شده است


در این مثال، تابع hello و متغیر x قبل از تعریف آن‌ها فراخوانی و استفاده شده‌اند که این به عنوان Hoisting شناخته می‌شود. همچنین، متغیر localVar در تابع exampleScope تعریف شده است و فقط در دامنه این تابع دسترسی دارد.

💎 Channel: @DevelopixJavascript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Forwarded from Developix Support
🔴 شتابان هاست 🔴

🔰 تخفیف ویژه 12 درصدی برای
خرید انواع🔹هاست🔹سرور
در شتابان هاست به مناسبت فرا رسیدن عید نوروز 🥳:


https://shetabanhost.com/
🌟 کد تخفیف اختصاصی:
shetabanhost


🔗 https://shetabanhost.com/

🌐 پشتیبانی ۲۴ ساعته شتابان هاست👇👇

☎️ 024-91311031
💎 Channel: @shetabanhostcom
31👍26🔥13
شاید توی پروژه ای براتون پیش اومده باشه که بخواید رنگ های رندوم بسازید برای کارای مختلف

خیلی ساده میتونید با یه فانکشن بیاید و این مورد رو پیاده سازی کنید

function getRandomColor() {
const r = Math.floor(Math.random() * 256);
const g = Math.floor(Math.random() * 256);
const b = Math.floor(Math.random() * 256);
return `rgb(${r}, ${g}, ${b})`;
}

کدش بسیار سادس و تمیز و قابل درک هست بازم هر سوالی داشتید توی کامنت های این پست پرسید :)

👤 Matin Soleymani

💎 Channel: @DevelopixJavascript
👍35🔥81
💢 سایت‌مپ (Sitemap) چیست؟

سایت‌مپ یک فایل XML است که تمامی صفحات و منابع یک وب‌سایت را به موتورهای جستجو معرفی می‌کند. این فایل شامل لیستی از لینک‌هایی است که برای راحتی موتورهای جستجوی موتورهای مانند گوگل و بینگ ایجاد می‌شود.

🔺اهمیت سایت‌مپ:

1. ارائه ساختار بهتر برای موتورهای جستجو: سایت‌مپ به موتورهای جستجو کمک می‌کند تا ساختار و محتوای وب‌سایت را بهتر درک کنند.

2. ارسال اطلاعات به موتورهای جستجو: با ارسال سایت‌مپ به موتورهای جستجو، زمان شناسایی و فهرست‌بندی صفحات وب‌سایت توسط موتورها بهبود می‌یابد.

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

🔺تاثیر سایت‌مپ بر سئو:
۱. ارتقاء فهرست‌بندی: با ارسال سایت‌مپ به موتورهای جستجو، زمان فهرست‌بندی صفحات وب‌سایت توسط موتورها بهبود می‌یابد.

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

۳. بهبود رتبه‌بندی: سایت‌مپ می‌تواند بهبود رتبه‌بندی صفحات وب‌سایت در نتایج جستجو کمک کند.

۴. کاهش زمان انتظار: با ارسال سایت‌مپ، موتورهای جستجو سریع‌تر صفحات وب‌سایت را شناسایی و فهرست‌بندی می‌کنند که باعث کاهش زمان انتظار برای دیده شدن صفحات جدید می‌شود.

😀نکات کلیدی:
- همیشه از سایت‌مپ به روز استفاده کنید و در صورت اضافه یا حذف صفحات، آن را به‌روز کنید.

- سایت‌مپ باید به صورت مستمر به موتورهای جستجو ارسال شود.

- اطمینان حاصل کنید که سایت‌مپ شما دارای لینک‌های صحیح و قابل دسترس است.

🔔در پست‌های بعدی به نحوه ایجاد سایت‌مپ می‌پردازیم.

👤 Maryam

💎 Channel: @DevelopixWeb
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
Bun 1.1 :)
و بلاخره ورژن 1.1 بان از ریلیز شد و الان میتونید در ویندوز هم از بان استفاده کنید :)

⭕️ اگر نمیدونید بان چیه:
❇️ بان یک پکیج منیجر ، تست رانر ، باندلر و ران تایم هست ( درواقع انگار node js و npm و ابزار های دیگه در یک جا )
و اپشنی که ارائه میده سرعت و بهینه بودن بیشتره این ابزاره :)

در ورژن 1 روی لینوکس و مک قابل اجرا بود و که در ورژن 1.1 در ویندوز هم قابل استفاده هست

برای نصب بان روی ویندوز :
کافیه دستور زیر رو توی cmd بزنید و نصب میشه خودش :)
powershell -c "irm bun.sh/install.ps1 | iex"


و برای نصب در لینوکس و مک :
curl -fsSL https://bun.sh/install | bash


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

https://bun.sh/

امار رو ببینید متوجه میشید که باید نصب کنید و تستش کنید مخصوصا اگر node کار کرده باشید

👤 Matin Soleymani

💎 Channel: @DevelopixJavascript
🔥14👍43
صد درصد پیش اومده توی سایتتون از قیمت استفاده کردید و دوست داشتید که سه تا سه تا با یک , یا چیزی مثل این جدا کنید و خب روش های مختلفی هست برای این کار ولی من امروز ساده ترین روشش رو میخوام بهتون بگم :)


✳️ ساده ترین روش برای انجام این کار یک خط کد جی اس هست به این صورت :

let price = 500000;
console.log(price.toLocaleString());


و بله به این سادگی میبینید که این قیمت سه رقم سه رقم جدا میشه و خوانایی بالایی بهش میده :)

👤 Matin Soleymani

💎 Channel: @DevelopixWeb
👍215
احتمال زیاد با دیسکورد کار کردید یا حداقل اسمش به گوشتون خورده

دیسکورد ربات هایی داره که کار های مختلفی میتونن انجام بدن و اگر با دیسکورد کار کرده باشید موارد زیادی از این ربات ها رو دیدید و باهاشون کار کردید

حالا برای دوستانی که جی اس کار میکنن میتونن با این کتابخونه ربات های دیسکورد خودشون رو بسازن

https://discord.js.org

👤 Matin Soleymani

💎 Channel: @DevelopixJavascript
👍163
📌 معرفی سایت

سایت hasty.dev یک ابزار عالی برای توسعه‌دهندگان جاوا اسکریپت است که به بهینه‌سازی و ارزیابی عملکرد کدها کمک می‌کند. اگر برای یک مسئله جاوا اسکریپتی چند راه‌حل دارید و می‌خواهید بدانید کدام یک سریع‌تر است، Hasty به شما امکان می‌دهد تا سرعت راه‌حل‌های مختلف را بررسی کنید. این پلتفرم نقاط ضعف و قوت هر راه‌حل را شناسایی کرده و به شما کمک می‌کند تا بهترین تصمیمات را برای بهبود عملکرد برنامه‌‌هاتون بگیرید.

#معرفی_سایت

👤 Maryam

💎 Channel: @DevelopixJavascript
👍192👎1
Forwarded from Developix Support
This media is not supported in your browser
VIEW IN TELEGRAM
📌چطور با جاوااسکریپت توی سرچ باکس کلمات مرتبط با سرچ رو به کاربر پیشنهاد بدیم؟!

بخشی از جلسه هفدهم دوره مقدماتی تا پیشرفته جاوااسکریپت از سبزلرن🔥


این دوره رو با ۴۰+ پروژه تخصصی جی اس میتونین از وبسایت سبزلرن مشاهده کنین.


📌ثبت نام رایگان دوره پیشرفته طراحی سایت با جاوااسکریپت و استفاده از سورس کد پروژه ها:
B2n.ir/jsp_sabzlearn
B2n.ir/jsp_sabzlearn

رایگان به تعداد محدود!⚠️
👍10👎2
چجوری میتونیم به پارامتر های ورودی مقدار دیفالت بدیم ؟

چون موضوع خیلی پیچیده ای نیست سعی میکنیم با یک مثال موضوع رو جمع کنیم

- ما یک تابع داریم که دوتا ورودی میگیره و ورودی اول به توان ورودی دوم رو به ما حروجی میده
function power(number , power)
{
return number ** power;
}

- ما میخوایم به ورودی دوم (power) یک مقدار دیفالت بدیم اگر مقداری وارد نشده بود مقدار 2 لحاظ بشه این کار بسیار ساده هست کافیه فقط کد رو به این صورت تغییر بدیم :

function power(number , power = 2)
{
return number ** power;
}

- در این حالت مقدار power در صورت عدم مقدار دهی برابر با 2 خواهد بود

🔖 #Javascript, #JS, #جاوااسکریپت

👤 Matin Soleymani

💎 Channel: @DevelopixJavascript
👍221
💢 یک منبع پر از تم‌های VS Code

اگر به دنبال تنوع و زیبایی در محیط کدنویسی Visual Studio Code هستید، این وبسایت بهترین گزینه است. این سایت با ارائه مجموعه‌ای عظیم از تم‌های جذاب و متنوع، امکان شخصی‌سازی کامل محیط کاری شما را فراهم می‌کند. از رنگ‌های روشن و شاداب گرفته تا تم‌های تاریک و حرفه‌ای، هر سلیقه‌ای که داشته باشید، می‌توانید تم مورد نظر خود را در این سایت پیدا کنید.

vscodethemes.com

#vscode

🔖 #Javascript, #JS, #جاوااسکریپت

👤 Maryam

💎 Channel: @DevelopixJavascript
👍9👎1🔥1