Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب – Telegram
Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
9.19K subscribers
657 photos
354 videos
90 files
813 links
اگر با جاوااسکریپت مشکل داری، این چنل مخصوص خودته 🤝

دوبله بهترین دوره های جاوااسکریپت و ریکت دنیا رایگان:
https://news.1rj.ru/str/DeepDevs/2166

تبلیغات و تبادل نداریم

گروه اصلی برای پرسش و پاسخ:
@DeepDevsGpOriginal

گروه چت:
@InstaDevsGp
Download Telegram
سلام صبح همگی بخیر
فکر میکنم خیلی از عزیزان از گروه و چنل Courses ما اطلاع ندارن میخوام اینجا خیلی سریع بهشون اشاره کنم ✔️

1- چنل Courses ما جایی هست که دوبله های دوره جاوااسکریپت جوناس داخلش قرار میگیره به صورت فایل زیپ میتونید از طریق ربات زیر بهش دسترسی داشته باشید:
@jschallenges_bot

2- گروه ما که متصل به همین چنل هست که الان 551 عدد ممبر داره و میتونید عضو بشید که اگر هر سوالی در رابطه با برنامه نویسی و جاوااسکریپت و ... داشتید بپرسید:
@js_masters_gp

انشالا که امروز براتون روز خوبی باشه ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
1611👍1🔥1
کدام یک از ویژگی های جاوا اسکریپت نیست؟
Anonymous Quiz
21%
Single threated
60%
JVM
9%
Client side programming
10%
Dynamic language
25🔥3
💎 سینتکس ساخت متد در یک آبجکت


برای ساخت متد در یک آبجکت، دو روش وجود دارد،
اولین روش استفاده از فانکشن های معمولی است که به صورت زیر استفاده می شود.

⭕️مثال:
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
76❤‍🔥3😎3
عزیزانی که دوست دارید استوری ها رو دنبال بکنید فقط کافیه آیدی من رو به عنوان contact داخل تلگرام اد بکنید که بتونم استوری های بیشتری با اکانت شخصی خودم براتون بزارم ❤️

@MehrshadHeisenberg3

خیلی هم روندش سادست، کافیه برید داخل پروفایل من، سه نقطه بالا رو بزنید و Add to contacts

اینطوری انگار من دارم از طرف چنل استوری میزارم به میزان نامحدود 👌
63
💎 تفاوت متد
setTimeout() | setInterval()

❗️ متد setTimeout
با استفاده از این متد، میتوانید یک تابع را بعد از مدت زمان مشخص، یک بار و فقط یک بار صدا بزنید.
setTimeout(myFunction,time)
❗️متد setInterval
با استفاده این متد، برخلاف متد setTimeout قادر خواهید بود یک تابع را به صورت مکرر در مدت زمانی مشخص صدا بزنید. به عنوان مثال، یک تابع بعد از هر 3 ثانیه یک بار مجدداً صدا زده شود.

setInterval(myFunction,time)
نکته1: این متد توسط، متد clearInterval متوقف خواهد شد.

نکته2: زمان تعیین شده (time)، باید به میلی ثانیه وارد شود و هر 1000 میلی ثانیه برابر 1 ثانیه خواهد بود.

چند نکته بسیار مهم دیگه اضاف کردم توی کامنت ها حتما بخونید. ❤️

@js_challenges
@js_masters_gp
37👍7
#quick_challenge
خروجی کد پایین چیه؟
const alphabetical=[1,2,3,4,5]
console.log(alphabetical.indexOf(6))

سوالی بود تو گروه هستیم😎
@js_challenges
@js_masters_gp
32
خروجی کد بالا
Anonymous Quiz
6%
TypeError
40%
undefined
42%
-1
12%
NaN
42😎4👍3🔥21
💎 مروری بر انواع واحد های اندازه گیری

به طور کلی، واحد های اندازه گیری به دو دسته مطلق و نسبی تقسیم می شوند. واحد های مطلق، واحد هایی هستند که خود به تنهایی تعیین کننده سایز آن المان هستند اما واحد های نسبی، با توجه به شرایط سایر المان ها یا صفحه، و نسبت تعیین شده، تعیین سایز می کنند.
👈 از دسته واحد های مطلق می توان به واحد های زیر اشاره کرد:
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
27👍3
Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب
Stamatis Spanoudakis – Nyfes (Brides)
این رو همین الان گذاشتم داخل کانال تکنولوژیمون گفتم حیفه اینجا نداشته باشیمش ❤️
حتما با هندزفری گوش کنید
با روح و روانتون بازی میکنه...
❤‍🔥521
💎 انواع دیتا در جاوااسکریپت از نگاه دیگر

به طور کلی دیتا در جاوااسکریپت به دو دسته 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
👍1515❤‍🔥31
#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
🔥76
شب همگی بخیر ❤️
عزیزان ما علاوه بر گپ اصلیمون که @js_masters_gp هست یه گپ خودمونی تر هم داریم که اونجا موضوع بحث آزاده و اگر سوال یا نکته ای خارج از جاوااسکریپت یا حتی برنامه نویسی بود میتونیم اونجا در موردش صحبت بکنیم:
@js_challenges_chat

فضا داخل این گپ یه مقدار صمیمی تر و خودمونی تره، اگر دوست داشتید عضو بشید ✌️
182
💎 تفاوت های 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
29👍6
#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
19🔥2
💎 بررسی خالی بودن مقدار یک آبجکت

حتماً شما هم برای اینکه بررسی کنید آیا یک آرایه دارای مقدار هست یا خیر از پراپرتی length استفاده می کنید.
برای بررسی مقدار یک آبجکت، میتونید از متد Object.keys استفاده کنید این متد آرایه ای از نام پراپرتی های آبجکت مورد نظر را return می کند در این صورت میتوانید از پراپرتی length استفاده و طول آن را برگردانید.

#Tips_N_Tricks

@js_challenges
@js_masters_gp
22🔥2
#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
192