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

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

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
🔸احتمالاً توی پروژتون نیاز به این داشتید که اعداد انگلیسی رو تبدیل به اعداد فارسی کنید.

🔹با تکه کد زیر می‌تونید این کار رو توی جاوااسکریپت انجام بدید.

const numberFormatter = new Intl.NumberFormat('fa');

console.log(numberFormatter.format('9'));

🔸فقط دقت کنید که خروجی‌ای که بهتون برمی‌گردونه string هست و نمی‌تونید اون رو هم تبدیل به عدد بکنید.

#Tips

👤 MHReza

💎 Channel: @DevelopixJavascript
👍101
با اجرای این کد چه اتفاقی خواهد افتاد؟
دلیلش رو توضیح بدین.

#questions

👤 MHReza

💎 Channel: @DevelopixJavascript
👍8
🔸پاسخ این هست که ابتدا عبارت developix چاپ میشه ولی در خط بعدی ما ReferenceError می‌گیریم.

🔹دلیل این اتفاق هم این هست که ما در جاوااسکریپت ویژگی‌ای داریم به نام Hoisting که همه تعاریف مربوط به متغیرها و توابع رو به بالای کدمون می‌بره (درواقع عملکردش به این صورت نیست ولی خب توی این پست نمی‌گنجه که کامل توضیح بدم پس بعداً توی یه پست دیگه کامل در موردش توضیح می‌دم.) و به همین دلیل هست که می‌تونیم به فانکشن sayDevelopix دسترسی داشته باشیم قبل از تعریف شدنش.

🔸ولی این قضیه کمی متفاوته در مورد arrow function ها که توضیح کامل رو توی پست بعد بهتون می‌دم ولی تا اینجا فقط بدونید که قبل از تعریف شدنشون نمی‌تونیم بهشون دسترسی داشته باشیم.

👤 MHReza

💎 Channel: @DevelopixJavascript
👍5🔥1
🌀 معرفی ‏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👎2
🔹 شاید براتون سوال شده باشه که پس فرق in و متد hasOwnProperty چی هست. عملگر in علاوه بر اینکه بررسی می‌کنه پراپرتی یا متد مورد نظر داخل آبجکت وجود داره، این رو هم بررسی می‌کنه که آیا پراپرتی‌ای که دنبالش میگردیم توی پروتوتایپ اون آبجکت هم وجود داره یا نه.
ولی متد hasOwnProperty فقط دنبال پراپرتی یا متد داخل آبجکت می‌گرده و دیگه کاری به پروتوتایپ اون ابجکت نداره.

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

👤 MHReza

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

👤 MHReza

💎 Channel: @DevelopixJavascript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👎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🔥104
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
👍19
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
👍34🔥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