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
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
30👍4❤‍🔥3
#quick_challenge
خروجی کد پایین چیه؟
const user = {
name: "amir"
}
let admin = user

user = null
console.log(user)

سوالی داشتید به گروه مراجعه کنید 🙏🙏
@js_challenges
@js_masters_gp
20😎2
💎 چگونه پروژه ام را فایل بندی کنم؟

سوال یکی از دوستان که به نظرم سوال خیلی از برنامه نویسان جوان هم هست، اینکه مثلا من میخوام صفحه ای به نام سبد خرید رو کدنویسی کنم، چطور باید فایل بندیش رو انجام بدم؟
💬 نکته مهم اینکه، این مورد بسیار سلیقه ای هست اما تلاش کنید تا جایی که مقدوره برای اینکه خوانا تر بنویسید، هر اسکریپت (یا هر کامپوننت در ریکت و یا هر ماژول در نود جی اس) را طوری قرار دهید که فقط یک عمل را انجام بدهد مثلا یک فایل فقط عمل حذف محصول رو انجام بدهد یک فایل فقط اضافه کردن محصول و... .
و ابتدا اصلا فکر این نباشید که فایل بندی عالی ای را انجام دهید، تمام کد ها را در یک فایل بنویسید پس از آنکه به پایان رسید، ری فکتورش کنید.

پ.ن: منظور کل پروژه نیست مثلا قسمت سبد خرید رو کامل در یک فایل بنویسید بعد از اتمام، اجزای مختلف آن را ریفکتور کنید.

💬 ممنون میشوم دوستان هم تجارب خودشون رو در خصوص نحوه صحیح فایل بندی پروژه بنویسند.


@js_challenges
@js_masters_gp
👍1893
Forwarded from InstaDevs (<ꜱᴘᴀɴ ʀᴇᴀᴅᴏɴʟʏ ᴅᴀᴛᴀ-ᴛʏᴘᴇ="ʜᴜᴍᴀɴ" ᴄʟᴀꜱꜱ="𝑀𝒾𝒹𝓌𝒶𝓎" >ᴀʟɪ</ꜱᴘᴀɴ>)
This media is not supported in your browser
VIEW IN TELEGRAM
🔸با GPT می‌توان در دو دقیقه بازی ساده ایجاد کرد و حتی امکان اضافه کردن فیچرهای مورد نظر وجود دارد. این به معنای کاهش زمان کدنویسی از چند ماه به چند هفته است!

اینجا ما همیشه ناگت اخبارو برات آماده میکنیم❤️

@Tech_Nuggets
@js_challenges_chat
18👍5🔥2
آقا این قسمت از پادکست #برنامه_نویس_آگاه الماسه الماس 💎

آیا زبان انگلیسی برای برنامه نویسی ضروریه؟ چرا و چقدر مهمه؟ و اگر ضروریه چطوری میتونیم زبانمون رو تقویت کنیم یا اگه صفر صفریم، چطور شروع کنیم؟
این پادکست طلاست 🏅

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

انشالا که براتون مفید باشه ❤️

https://youtu.be/5-jNDueOgl8?si=4VyAg-OhgJAGO1eu

اگرم دوست داشتید به صورت صوتی گوش بکنید میتونید از موارد زیر استفاده کنید:

CastBox | Google Podcasts | Spotify

اگر دوست دارید توی قسمت بعدی در مورد موضوع خاصی صحبت بشه، حتما کامنت کنید ✌️

Channel: @js_challenges | Group: @js_masters_gp
13👍3❤‍🔥1🔥1
اگر جمعه ها قرار باشه داخل یوتیوب لایو استریم بزاریم که اگر سوالی دارید مشکلی دارید یا ایده ای دارید بیاید و خلاصه با هم صحبت کنیم، مشارکت میکنید؟
Anonymous Poll
67%
بله حتما 👌
33%
نه مشارکت نمیکنم
🔥12