💠 استفاده از _ برای جداسازی ارقام در کد
از بعد جی اس 7، برای جداسازی و افزایش خوانایی ارقام بزرگ در جی اس، میتوانید از _ استفاده کنید. مثلا فرض کنید برای ذخیره شماره کارت که باید 4 رقم 4 رقم برای خوانایی بهتر جداسازی شود. برای مثال:
البته به یاد داشته باشید که در حالت های زیر، قرار دادن _ خطای کمپایل به همراه خواهد داشت:
1. قرار دادن _ در پایان یا شروع داده:
@js_challenges
@js_masters_gp
از بعد جی اس 7، برای جداسازی و افزایش خوانایی ارقام بزرگ در جی اس، میتوانید از _ استفاده کنید. مثلا فرض کنید برای ذخیره شماره کارت که باید 4 رقم 4 رقم برای خوانایی بهتر جداسازی شود. برای مثال:
long x = 1_2_13_213_131L;در اصل وجود _ هیچ تاثیری در خروجی کد نخواهد داشت و فقط جنبه ی خوانایی دارد.
long population = 8_078_598_555L;
double db = 1_2_3.4_5_6;
int x4 = 5_______2;
البته به یاد داشته باشید که در حالت های زیر، قرار دادن _ خطای کمپایل به همراه خواهد داشت:
1. قرار دادن _ در پایان یا شروع داده:
int x = _1;2. قرار دادن _ در مجاورت نقطه ی اعشار:
java3. قبل یا بعد از حروف پسوندی F یا L که بترتیب برای مشخص کردن داده های اعشاری و لانگ به کار گرفته میشوند:
double d1 = 12_.2;
double d2 = 13._4;
long socialSecurityNumber1 = 999_99_9999_L;4. در جاهایی که از رشته ای از ارقام استفاده میکنید. برای مثال کد زیر خطای رانتایم دارد:
int x = Integer.parseInt("23_34");
————
انتشار یادت نره ❤️@js_challenges
@js_masters_gp
❤10 4👍2😎1
کدام متد نیاز به کامپایل کردن به قبل از es6 را ندارد؟
Anonymous Quiz
14%
object.entries()
24%
object.keys()
45%
Array.prototype.fill()
17%
array.entries()
🔥7 4👍3
Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
#js_challenge حتما توضیحات سوال رو گوش بکنید #no46 #easy_to_medium هشتگ های مرتبط: #arrays #numbers لینک سوال:(برای تست جوابهاتون) https://www.codewars.com/kata/514b92a657cdc65150000006 پ.ن.پ: دوستان جواب چالش رو تا شب تو یوتوب قرار میدیم❤️ پ.ن.پ ۲: منتظر…
#answer
#no46
آقا جواب چالش آپلود شد🔥
دوستان حالا تو یوتوب به حضور سبزتون نیازمندیم❤️
🧑💻تو این ویدیو سعی کردم علاوه بر حل چالش حتی بیشتر از نیاز خودش هرچه ساده تر و مفهومی تر هر خط کدی رو که زدم براتون توضیح بدم.
پ.ن.پ: حمایت فراموشتون نشه😎
لینک ویدیو:
https://www.youtube.com/watch?v=AJ2Z9BU6JOI
@js_challenges
@js_masters_gp
#no46
آقا جواب چالش آپلود شد🔥
دوستان حالا تو یوتوب به حضور سبزتون نیازمندیم❤️
🧑💻تو این ویدیو سعی کردم علاوه بر حل چالش حتی بیشتر از نیاز خودش هرچه ساده تر و مفهومی تر هر خط کدی رو که زدم براتون توضیح بدم.
پ.ن.پ: حمایت فراموشتون نشه😎
لینک ویدیو:
https://www.youtube.com/watch?v=AJ2Z9BU6JOI
@js_challenges
@js_masters_gp
YouTube
آموزش جاوااسکریپت | چطور آرایه مورد نظرمون رو در جاوااسکریپت با متود Array.from بسازیم؟
دوستان تو این ویدیو براتون یکی از چالش های پر ستاره سایت کدوارز رو براتون با استفاده از متد های پرکاربرد جاوا اسکریپت مثل filter,reduce و همینطور ()Array.from حل کردم.
با من همراه باشین که قراره کلی نکته در مورد متد ها و کلین کد یاد بگیریم. 🔥
ما رو در شبکه…
با من همراه باشین که قراره کلی نکته در مورد متد ها و کلین کد یاد بگیریم. 🔥
ما رو در شبکه…
🔥7 6❤1👍1
سلام صبح همگی بخیر
فکر میکنم خیلی از عزیزان از گروه و چنل Courses ما اطلاع ندارن میخوام اینجا خیلی سریع بهشون اشاره کنم✔️
1- چنل Courses ما جایی هست که دوبله های دوره جاوااسکریپت جوناس داخلش قرار میگیره به صورت فایل زیپ میتونید از طریق ربات زیر بهش دسترسی داشته باشید:
@jschallenges_bot
2- گروه ما که متصل به همین چنل هست که الان 551 عدد ممبر داره و میتونید عضو بشید که اگر هر سوالی در رابطه با برنامه نویسی و جاوااسکریپت و ... داشتید بپرسید:
@js_masters_gp
انشالا که امروز براتون روز خوبی باشه ❤️
فکر میکنم خیلی از عزیزان از گروه و چنل Courses ما اطلاع ندارن میخوام اینجا خیلی سریع بهشون اشاره کنم
1- چنل Courses ما جایی هست که دوبله های دوره جاوااسکریپت جوناس داخلش قرار میگیره به صورت فایل زیپ میتونید از طریق ربات زیر بهش دسترسی داشته باشید:
@jschallenges_bot
2- گروه ما که متصل به همین چنل هست که الان 551 عدد ممبر داره و میتونید عضو بشید که اگر هر سوالی در رابطه با برنامه نویسی و جاوااسکریپت و ... داشتید بپرسید:
@js_masters_gp
انشالا که امروز براتون روز خوبی باشه ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
کدام یک از ویژگی های جاوا اسکریپت نیست؟
Anonymous Quiz
21%
Single threated
60%
JVM
9%
Client side programming
10%
Dynamic language
💎 سینتکس ساخت متد در یک آبجکت
برای ساخت متد در یک آبجکت، دو روش وجود دارد،
اولین روش استفاده از فانکشن های معمولی است که به صورت زیر استفاده می شود.
⭕️مثال:
⭕️ مثال:
@js_challenges
@js_masters_gp
برای ساخت متد در یک آبجکت، دو روش وجود دارد،
اولین روش استفاده از فانکشن های معمولی است که به صورت زیر استفاده می شود.
⭕️مثال:
let myFunc = {
showArgs(...arguments){
console.log(arguments);
}
};
myFunc.showArgs(1, 2, 3, 4);
روش دوم، استفاده از arrow function⭕️ مثال:
let myFunc = {
showArgs : (...arguments) => {
console.log(arguments);
}
};
myFunc.showArgs(1, 2, 3, 4);
انتشار یادتون نره❤️@js_challenges
@js_masters_gp
Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
💎 سینتکس ساخت متد در یک آبجکت برای ساخت متد در یک آبجکت، دو روش وجود دارد، اولین روش استفاده از فانکشن های معمولی است که به صورت زیر استفاده می شود. ⭕️مثال: let myFunc = { showArgs(...arguments){ console.log(arguments); } }; myFunc.showArgs(1…
ریکشن جدید گذاشتیم بزنید که 👏 اش ادا بشه
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
عزیزانی که دوست دارید استوری ها رو دنبال بکنید فقط کافیه آیدی من رو به عنوان contact داخل تلگرام اد بکنید که بتونم استوری های بیشتری با اکانت شخصی خودم براتون بزارم ❤️
@MehrshadHeisenberg3
خیلی هم روندش سادست، کافیه برید داخل پروفایل من، سه نقطه بالا رو بزنید و Add to contacts
اینطوری انگار من دارم از طرف چنل استوری میزارم به میزان نامحدود 👌
@MehrshadHeisenberg3
خیلی هم روندش سادست، کافیه برید داخل پروفایل من، سه نقطه بالا رو بزنید و Add to contacts
اینطوری انگار من دارم از طرف چنل استوری میزارم به میزان نامحدود 👌
💎 تفاوت متد
setTimeout() | setInterval()
❗️ متد setTimeout
با استفاده از این متد، میتوانید یک تابع را بعد از مدت زمان مشخص، یک بار و فقط یک بار صدا بزنید.
با استفاده این متد، برخلاف متد setTimeout قادر خواهید بود یک تابع را به صورت مکرر در مدت زمانی مشخص صدا بزنید. به عنوان مثال، یک تابع بعد از هر 3 ثانیه یک بار مجدداً صدا زده شود.
نکته2: زمان تعیین شده (time)، باید به میلی ثانیه وارد شود و هر 1000 میلی ثانیه برابر 1 ثانیه خواهد بود.
چند نکته بسیار مهم دیگه اضاف کردم توی کامنت ها حتما بخونید. ❤️
@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
#quick_challenge
خروجی کد پایین چیه؟
سوالی بود تو گروه هستیم😎
@js_challenges
@js_masters_gp
خروجی کد پایین چیه؟
const alphabetical=[1,2,3,4,5]
console.log(alphabetical.indexOf(6))
سوالی بود تو گروه هستیم😎
@js_challenges
@js_masters_gp
💎 مروری بر انواع واحد های اندازه گیری
به طور کلی، واحد های اندازه گیری به دو دسته مطلق و نسبی تقسیم می شوند. واحد های مطلق، واحد هایی هستند که خود به تنهایی تعیین کننده سایز آن المان هستند اما واحد های نسبی، با توجه به شرایط سایر المان ها یا صفحه، و نسبت تعیین شده، تعیین سایز می کنند.
👈 از دسته واحد های مطلق می توان به واحد های زیر اشاره کرد:
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
به طور کلی، واحد های اندازه گیری به دو دسته مطلق و نسبی تقسیم می شوند. واحد های مطلق، واحد هایی هستند که خود به تنهایی تعیین کننده سایز آن المان هستند اما واحد های نسبی، با توجه به شرایط سایر المان ها یا صفحه، و نسبت تعیین شده، تعیین سایز می کنند.
👈 از دسته واحد های مطلق می توان به واحد های زیر اشاره کرد:
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
Nyfes (Brides)
Stamatis Spanoudakis
#Out_Of_IDE
#Music
Listen to this with the deepest parts of your heart and your soul will be free...
@js_challenges | @js_masters_gp
#Music
Listen to this with the deepest parts of your heart and your soul will be free...
@js_challenges | @js_masters_gp
Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
Stamatis Spanoudakis – Nyfes (Brides)
این رو همین الان گذاشتم داخل کانال تکنولوژیمون گفتم حیفه اینجا نداشته باشیمش ❤️
حتما با هندزفری گوش کنید
با روح و روانتون بازی میکنه...
حتما با هندزفری گوش کنید
با روح و روانتون بازی میکنه...
❤🔥5❤2 1
💎 انواع دیتا در جاوااسکریپت از نگاه دیگر
به طور کلی دیتا در جاوااسکریپت به دو دسته Refrence type یا Object Type و Primitive type تقسیم میشود.
⭕️ دسته Primitive type به متغیرهایی گفته میشود که مقدار آنها در خودشان ذخیره میشود (در کال استک ذخیره میشوند). به عبارت دیگر، این نوع متغیرها مستقل از هم هستند و هر کدام اطلاعات خودشان را در محافظهای کوچک و مستقل دارند. در نتیجه وقتی آن ها را به متغیر دیگه نسبت میدیم (Assign میکنیم) باعث میشه آن متغییر هم مقدار مستقل پیدا کند. از انواع متغیر های این دسته میتوان به
مثال زیر می تونه مفهوم بالا رو به خوبی منتقل کند :
⭕️ دسته Refrence type یا Object Type متغیر هایی گفته میشود که مقدار آن ها در حافظه ذخیره می شود در واقع هر کدام از این متغیر ها خانه ای مستقل در حافظه دارند و آن ها را نمیتوان مانند متغیر های دسته ی Primitive type با نسبت دادنشون به متغیر دیگه، متغیر جدید را ایجاد کرد بلکه در مورد این دسته از متغیر ها، از نظر جاوا اسکریپت، هر دو متغیر به یک خانه از حافظه اشاره دارند و مقدار آن ها از یکدیگر مستقل نیست در نتیجه با تغییر مقدار هرکدام از این متغیر ها، متغیر دیگر نیز تغییر پیدا میکند. از انواع متغیر های این دسته میتوان به Object، Function، Array، Date و Collection اشاره کرد
مثال :
این دسته از متغیر ها، از نظر رفرنس آن ها با هم مقایسه می شوند نه مقدار آن ها.
@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
👍15 15❤🔥3❤1
#quick_challenge
خروجی کد پایین چیه؟
سوالی داشتید به گروه مراجعه کنید 🙏🙏
@js_challenges
@js_masters_gp
خروجی کد پایین چیه؟
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
🔥7 6
شب همگی بخیر ❤️
عزیزان ما علاوه بر گپ اصلیمون که @js_masters_gp هست یه گپ خودمونی تر هم داریم که اونجا موضوع بحث آزاده و اگر سوال یا نکته ای خارج از جاوااسکریپت یا حتی برنامه نویسی بود میتونیم اونجا در موردش صحبت بکنیم:
@js_challenges_chat
فضا داخل این گپ یه مقدار صمیمی تر و خودمونی تره، اگر دوست داشتید عضو بشید ✌️
عزیزان ما علاوه بر گپ اصلیمون که @js_masters_gp هست یه گپ خودمونی تر هم داریم که اونجا موضوع بحث آزاده و اگر سوال یا نکته ای خارج از جاوااسکریپت یا حتی برنامه نویسی بود میتونیم اونجا در موردش صحبت بکنیم:
@js_challenges_chat
فضا داخل این گپ یه مقدار صمیمی تر و خودمونی تره، اگر دوست داشتید عضو بشید ✌️
💎 تفاوت های var، const و let و یک نکته مهم
👈 متغیر های تعریف شده توسط var، سطح تابعی یا Function Level هستند یعنی در تمام اسکوپ های تعریف شده درون تابعی که از آن استفاده شده، قابل دسترس می باشد.
اما
👈 متغیر هایی که توسط let یا const تعریف شده اند، Block Level هستند یعنی فقط در اسکوپی که تعریف شده اند قابل دسترسی هستند و بیرون اون اسکوپ غیر قابل دسترس است.
✳️ نکته: منظور از اسکوپ، محدوده ای هست که توسط آکولاد باز و بسته یعنی { } مشخص میشود و متغیر ما در آن قابل دسترس می باشد.
✳️ نکته مهم: در صورتی که از هیچ کدام از واژه های const و let و var جهت تعریف کردن متغیر ها استفاده نکنید متغیر تعریف شده دارای اسکوپ گلوبال بوده و در تمام اسکوپ ها و فانکشن ها قابل دسترسی است.
✳️ از نگاه Hoisting : هنگام hoisting در زمان اجرای برنامه، متغیرهای تعریف شده با var و همچنین توابع (Declaration) به طور کامل hoist میشوند و اماده استفاده میشوند . اما متغیرهای تعریف شده با let و const و همچنین کلاسها فقط کامپایل میشوند و به هنگام استفاده قبل از تعریف و مقداردهی، خطای ReferenceError برگردانده میشود. let و const در این بخش از نظر hoisting یک رفتار متفاوت نسبت به var دارند. ( به هنگام استفاده قبل از Declare و Initialization خطای ReferenceError برگشت داده میشود ).
@js_challenges
@js_masters_gp
👈 متغیر های تعریف شده توسط var، سطح تابعی یا Function Level هستند یعنی در تمام اسکوپ های تعریف شده درون تابعی که از آن استفاده شده، قابل دسترس می باشد.
اما
👈 متغیر هایی که توسط let یا const تعریف شده اند، Block Level هستند یعنی فقط در اسکوپی که تعریف شده اند قابل دسترسی هستند و بیرون اون اسکوپ غیر قابل دسترس است.
✳️ نکته: منظور از اسکوپ، محدوده ای هست که توسط آکولاد باز و بسته یعنی { } مشخص میشود و متغیر ما در آن قابل دسترس می باشد.
✳️ نکته مهم: در صورتی که از هیچ کدام از واژه های const و let و var جهت تعریف کردن متغیر ها استفاده نکنید متغیر تعریف شده دارای اسکوپ گلوبال بوده و در تمام اسکوپ ها و فانکشن ها قابل دسترسی است.
✳️ از نگاه Hoisting : هنگام hoisting در زمان اجرای برنامه، متغیرهای تعریف شده با var و همچنین توابع (Declaration) به طور کامل hoist میشوند و اماده استفاده میشوند . اما متغیرهای تعریف شده با let و const و همچنین کلاسها فقط کامپایل میشوند و به هنگام استفاده قبل از تعریف و مقداردهی، خطای ReferenceError برگردانده میشود. let و const در این بخش از نظر hoisting یک رفتار متفاوت نسبت به var دارند. ( به هنگام استفاده قبل از Declare و Initialization خطای ReferenceError برگشت داده میشود ).
@js_challenges
@js_masters_gp
#quick_challenge
خروجی کد پایین چیه؟
سوالی داشتید به گروه مراجعه کنید 🙏🙏
@js_challenges
@js_masters_gp
خروجی کد پایین چیه؟
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