Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
رفتن به کانال در Telegram
اگر با جاوااسکریپت مشکل داری، این چنل مخصوص خودته 🤝 دوبله بهترین دوره های جاوااسکریپت و ریکت دنیا رایگان: https://t.me/DeepDevs/2166 تبلیغات و تبادل نداریم گروه اصلی برای پرسش و پاسخ: @DeepDevsGpOriginal گروه چت: @InstaDevsGp
نمایش بیشتر9 032
مشترکین
+1224 ساعت
+407 روز
+4930 روز
آرشیو پست ها
خروجی؟؟؟
#quick_challenge
خروجی کد پایین چیه؟
const user = {
name: "amir"
}
let admin = user
user = null
console.log(user)
سوالی داشتید به گروه مراجعه کنید 🙏🙏
@js_challenges
@js_masters_gpگزینه صفر، یک،دو یا سه؟
#quick_challenge
خروجی کد پایین چیه؟
const strAndNumbers = "maybe i2ts har230d t1o fi9nd nu43mbers in st432ring!";
const justNumbers = strAndNumbers
.split("")
.filter((l) => typeof l === "number");
console.log(justNumbers);
دوشواری نداریم دوستان تو گروه خدمتتونیم😎
@js_challenges
@js_masters_gp💎 بررسی خالی بودن مقدار یک آبجکت
حتماً شما هم برای اینکه بررسی کنید آیا یک آرایه دارای مقدار هست یا خیر از پراپرتی length استفاده می کنید.
برای بررسی مقدار یک آبجکت، میتونید از متد Object.keys استفاده کنید این متد آرایه ای از نام پراپرتی های آبجکت مورد نظر را return می کند در این صورت میتوانید از پراپرتی length استفاده و طول آن را برگردانید.
#Tips_N_Tricks
@js_challenges
@js_masters_gp
خروجی؟؟؟
#quick_challenge
خروجی کد پایین چیه؟
let randomValue = { name: "Amir" }
randomValue = 33
if (!typeof randomValue === "string") {
console.log("It's not a string!")
} else {
console.log("Yay it's a string!")
}
سوالی داشتید به گروه مراجعه کنید 🙏🙏
@js_challenges
@js_masters_gp💎 تفاوت های var، const و let و یک نکته مهم
👈 متغیر های تعریف شده توسط var، سطح تابعی یا Function Level هستند یعنی در تمام اسکوپ های تعریف شده درون تابعی که از آن استفاده شده، قابل دسترس می باشد.
اما
👈 متغیر هایی که توسط let یا const تعریف شده اند، Block Level هستند یعنی فقط در اسکوپی که تعریف شده اند قابل دسترسی هستند و بیرون اون اسکوپ غیر قابل دسترس است.
✳️ نکته: منظور از اسکوپ، محدوده ای هست که توسط آکولاد باز و بسته یعنی { } مشخص میشود و متغیر ما در آن قابل دسترس می باشد.
✳️ نکته مهم: در صورتی که از هیچ کدام از واژه های const و let و var جهت تعریف کردن متغیر ها استفاده نکنید متغیر تعریف شده دارای اسکوپ گلوبال بوده و در تمام اسکوپ ها و فانکشن ها قابل دسترسی است.
✳️ از نگاه Hoisting : در زمان اجرای برنامه، تنها متغیر های تعریف شده از نوع var و فانکشن ها به طور کامل Hoist میشوند و متغیر های تعریف شده از نوع let و const و همچنین class ها در مرحله Hoisting فقط کامپایل میشوند و به هنگام استفاده مقدار دهی نمیشود ( به هنگام استفاده قبل از Declare و Initialization خطای ReferenceError برگشت داده میشود ).
@js_challenges
@js_masters_gp
شب همگی بخیر ❤️
عزیزان ما علاوه بر گپ اصلیمون که @js_masters_gp هست یه گپ خودمونی تر هم داریم که اونجا موضوع بحث آزاده و اگر سوال یا نکته ای خارج از جاوااسکریپت یا حتی برنامه نویسی بود میتونیم اونجا در موردش صحبت بکنیم:
@js_challenges_chat
فضا داخل این گپ یه مقدار صمیمی تر و خودمونی تره، اگر دوست داشتید عضو بشید ✌️
خروجی؟؟؟
#quick_challenge
خروجی کد پایین چیه؟
const createMember = ({ gmail, address = {} }) => {
const validGmail = /.+\@.+\..+/.test(gmail)
if (!validGmail) throw new Error("Valid gmail pls")
return {
gmail,
address: address ? address : null
}
}
const member = createMember({ gmail: "amirnobari1990@gmail.com" })
console.log(member)
سوالی داشتید به گروه مراجعه کنید 🙏🙏
@js_challenges
@js_masters_gp💎 انواع دیتا در جاوااسکریپت از نگاه دیگر
به طور کلی دیتا در جاوااسکریپت به دو دسته Refrence type یا Object Type و Primitive type تقسیم میشود.
⭕️ دسته Primitive type به متغیر هایی گفته می شود که مقدارشان در خودشان ذخیره می شود و در حافظه جایی ندارند. در نتیجه وقتی آن ها را به متغیر دیگه نسبت میدیم (Assign میکنیم) باعث میشه آن متغییر هم مقدار مستقل پیدا کند. از انواع متغیر های این دسته میتوان به
String, Null, Number, Undefined, Boolean و Symbolاشاره کرد. مثال زیر می تونه مفهوم بالا رو به خوبی منتقل کند :
let numOne = 50;
let numTwo = numOne; //numTwo=numOne=50
numOne = 100;
console.log(numOne); //outputs 100
console.log(numTwo); //outputs 50
و نکته مهم اینکه این دسته از متغیر ها با مقدارشان با هم مقایسه می شوند.
⭕️ دسته Refrence type یا Object Type متغیر هایی گفته میشود که مقدار آن ها در حافظه ذخیره می شود در واقع هر کدام از این متغیر ها خانه ای مستقل در حافظه دارند و آن ها را نمیتوان مانند متغیر های دسته ی Primitive type با نسبت دادنشون به متغیر دیگه، متغیر جدید را ایجاد کرد بلکه در مورد این دسته از متغیر ها، از نظر جاوا اسکریپت، هر دو متغیر به یک خانه از حافظه اشاره دارند و مقدار آن ها از یکدیگر مستقل نیست در نتیجه با تغییر مقدار هرکدام از این متغیر ها، متغیر دیگر نیز تغییر پیدا میکند. از انواع متغیر های این دسته میتوان به Object، Function، Array، Date و Collection اشاره کرد
مثال :
let object1 = {
name:'Bingeh',
age:18
};
let object2 = object1;
//updating object1,
object1.age = 20;
console.log(object2); //we see that object2 also updates the age attribute
اگر کد بالا را تست کنید متوجه خواهید شد که با وجود تغییر پراپرتی age در آبجکت object1؛ مقدار پراپرتی age در object2 نیز تغییر پیدا کرده است دلیل آن، یکسان بودن خانه این دو متغیر در حافظه است.
این دسته از متغیر ها، از نظر رفرنس آن ها با هم مقایسه می شوند نه مقدار آن ها.
@js_challenges
@js_masters_gpاین رو همین الان گذاشتم داخل کانال تکنولوژیمون گفتم حیفه اینجا نداشته باشیمش ❤️
حتما با هندزفری گوش کنید
با روح و روانتون بازی میکنه...
Listen to this with the deepest parts of your heart and your soul will be free...
💎 مروری بر انواع واحد های اندازه گیری
به طور کلی، واحد های اندازه گیری به دو دسته مطلق و نسبی تقسیم می شوند. واحد های مطلق، واحد هایی هستند که خود به تنهایی تعیین کننده سایز آن المان هستند اما واحد های نسبی، با توجه به شرایط سایر المان ها یا صفحه، و نسبت تعیین شده، تعیین سایز می کنند.
👈 از دسته واحد های مطلق می توان به واحد های زیر اشاره کرد:
cm : سانتی متر
mm : میلی متر
in : اینچ
px: پیکسل
pt: نقطه
pc: پیکا
نکته 1: هر اینچ برابر96 پیکسل و 2.54 سانتی متر است
نکته 2: هر pt برابر 1/72 اینچ و 1/12 pc است
👈 از سری واحد های نسبی نیز می توان به واحد های زیر اشاره کرد:
em: این واحد جهت تنظیم سایز فونت ها به کار میرود و به واحد المنت والد وابسته است و هر em برابر است با سایز فونت المنت والد. به عنوان مثال اگر فونت المنت واحد 10 پیکسل باشد و المنت فرزند دارای فونت با سایز 2em باشد میتوان گفت سایز فونت این المنت 20 پیکسل محاسبه می شود.
rem: سایز فونت را نسبت به سایز تعیین شده برای روت تعیین می کند. این روت می تواند استایل تگ html باشد. اگر برای این تگ سایزی مشخص نشده باشد، نسبت به سایز پیشفرض فونت بروزر تعیین می شود (که عموماً 16 پیکسل می باشد)
vw: تعیین سایز المنت نسبت به 1 درصد سایز عرض صفحه انجام میگیرد. به عنوان مثال اگر عرض صفحه (width) برابر 900 پیکسل باشد، 1vw برابر 9 پیکسل خواهد بود.
vh: تعیین سایز المنت نسبت به 1 درصد سایز طول صفحه انجام میگیرد. به عنوان مثال اگر طول صفحه (hight) برابر 900 پیکسل باشد، 1vh برابر 9 پیکسل خواهد بود.
%: تعیین سایز المنت به نسبت سایز المنت والد. به عنوان مثال اگر طول المنت والد 100 پیکسل باشد و طول المنت فرزند 35% در نظر بگیریم، بروزر به طور خودکار آن را 35 پیکسل در نظر می گیرد.
نکته: از واحد های نسبی، عموماً برای رسپانسیو کردن سایت بکار می رود.
@js_challenges
@js_masters_gp
خروجی کد بالا
#quick_challenge
خروجی کد پایین چیه؟
const alphabetical=[1,2,3,4,5]
console.log(alphabetical.indexOf(6))
سوالی بود تو گروه هستیم😎
@js_challenges
@js_masters_gp💎 تفاوت متد
setTimeout() | setInterval()
❗️ متد setTimeout
با استفاده از این متد، میتوانید یک تابع را بعد از مدت زمان مشخص، یک بار و فقط یک بار صدا بزنید.
setTimeout(myFunction,time)
❗️متد setInterval
با استفاده این متد، برخلاف متد setTimeout قادر خواهید بود یک تابع را به صورت مکرر در مدت زمانی مشخص صدا بزنید. به عنوان مثال، یک تابع بعد از هر 3 ثانیه یک بار مجدداً صدا زده شود.
setInterval(myFunction,time)
نکته1: این متد توسط، متد clearInterval متوقف خواهد شد.
نکته2: زمان تعیین شده (time)، باید به میلی ثانیه وارد شود و هر 1000 میلی ثانیه برابر 1 ثانیه خواهد بود.
چند نکته بسیار مهم دیگه اضاف کردم توی کامنت ها حتما بخونید. ❤️
@js_challenges
@js_masters_gp
از قوى ترين بهونت ،
قوى تر باش .
#Out_Of_IDE
@js_challenges
@js_masters_gp
سلام، یکی از کانالهایی که خودم توش عضو هستم کانال کلِوردِوز هست،
چون ترفندهای فرانتاند و لینوکس و بکاند میذاره و از همه مهمتر چالشهایی هم قرار میده که میشه با هر زبانی حلشون کرد و من رو از داشتن چند تا کانال اضافه بینیاز میکنه.
پیشنهاد میدم شما هم داشته باشید این کانال رو: @CleverDevs
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
