رقصنده با کد
781 subscribers
1.69K photos
850 videos
207 files
666 links
Here are some interesting things I've come across during my learning process. That's it. Admin ID:
@alithecodeguy
Download Telegram
راه درست برای چک کردن اینکه آیا یک property واقعا در یک object وجود دارد یا خیر.
#js #javascript #programming #es
جاوااسکریپت عملگری به شکل ~~ نداره.
پس عدد بالا چه اتفاقی براش افتاده که رند شده؟

جواب سوال: چهارشنبه ۱۵ آبان ساعت ۱۳ در کانال رقصنده با کد:
https://t.iss.one/alithecodeguy

#js #javascript #programming
@alithecodeguy
رقصنده با کد
جاوااسکریپت عملگری به شکل ~~ نداره. پس عدد بالا چه اتفاقی براش افتاده که رند شده؟ جواب سوال: چهارشنبه ۱۵ آبان ساعت ۱۳ در کانال رقصنده با کد: https://t.iss.one/alithecodeguy #js #javascript #programming @alithecodeguy
جواب این سوال رو میخواستم فردا بذارم ولی دلم نیومد الان نذارم اذیت نشید. ندونستنش یه دردسره ، دونستنش هزارتا دردسر 😈

دلیل اینکه چرا دو بار “بیت وایز نات” کردن یک عدد اعشاری باعث حذف قسمت اعشاری میشه رو مرحله به مرحله توضیح میدم: (بیت وایز نات همون عملگر ~ هستش که میاد اعداد رو به باینری تبدیل میکنه سپس هر صفر رو بک یک و هر یک رو به صفر تبدیل میکنه.)

۰- بخشی از دلیل این اتفاق ، به ریاضیات و نحوه برخورد کامپیوتر با اعداد مرتبطه و مختص زبان برنامه‌نویسی خاصی نیست. به خاطر همین توی توضیحات کلمه‌های متمم۱ و متمم‌۲ رو خواهید دید که مفهومی ریاضی هستند که دلیل رفتار متمم‌۲ هم خودش به مفهوم ریاضی دیگه‌ای به نام “همنهشتی” مرتبطه.

۱- علامت ~~ در واقع دو تا عملگر ~ هستش که بهش میگن عملگر “بیت وایز نات”. وقتی عملگر “بیت وایز نات” اول رو روی هر عددی انجام بدید (در جاواااسکریپت) ، اون عدد باید به فرم ۳۲ بیتی علامتدار تبدیل بشه پس از همینجا میتونیم متوجه بشیم این عملگر میاد قسمت اعشاری رو کلا حذف میکنه و قسمت صحیح عدد رو هر بیتشو معکوس میکنه (اصطلاحا متمم۱ میگیره).

۲- برای مثال عدد ۵.۳ ابتدا به ۵ تبدیل میشه سپس به فرم باینری زیر درمیاد:
00000000000000000000000000000101
حالا اگر “متمم ۱” ازش بگیریم به شکل زیر درمیاد: (نات کنیم)
11111111111111111111111111111010 (*)
که این عدد تولید شده ، خودش “متمم۲” یک عدد دیگه‌ایه. چرا؟ چون این عدد منفیه (به خاطر اولین بیت سمت چپ که ۱ هستش) حالا این عدد دیگه رو چه جوری محاسبه کنیم؟ یک متمم ۲ دیگه ازش میگیریم. برای اینکار اول میایم متمم ۱ میگیریم :
00000000000000000000000000000101
بعد عدد ۱ رو بهش اضافه می‌کنیم:
00000000000000000000000000000110
که اگر به فرمت دسیمال تبدیلش کنیم عدد ۶ به دست میاد و از اونجا که منفی بود میدونیم پس عدد منفی ۶ رو نشون میداده. ( این عدد منفی ۶ رو محاسبه کردیم که عملگر تنهای ~ رو هم دیده باشیم که چرا ~5.3 = -6 میشه )

۳-حالا وقتی عملگر نات دوم رو دوباره روی عدد باینری (*) بالا پیاده کنیم ، عدد زیر بدست میاد:
00000000000000000000000000000101
که این عدد باینری رو هم اگر به فرم دهدهی تبدیل کنیم ، عدد ۵ بدست میاد.

حالا این کجاش به جاوااسکریپت مرتبط بود؟ 😄

#js #javascript #programming #tip #tricks @alithecodeguy
این یک تکه کد جاوااسکریپت هست که دو فانکشن متفاوت رو با اسم یکسان ایجاد کرده و این فانکشن‌ها رو از طریق این اسم ، یک بار در ایتدای اسکریپت و بار دوم در انتهای اسکریپت صدا زده و هر دفعه فانکشن متفاوتی، کال شده.
عجیبه نه؟ اتفاقا اصلا عجیب نیست وقتی جاوااسکریپت رو بشناسی.
توی دوره عمیق جاوااسکریپت درباره دلیل عمیق و ساختاری همچین موضوعاتی صحبت می‌کنیم.
(بعضی از مطالب از جمله همین تصویر رو ، به صورت شرت یوتیوب در گذر زمان توضیح میدم)

#js #javascript #programming
@alithecodeguy
تشخیص صحت کد ملی در جاوااسکریپت
مطالب بیشتر در کانال رقصنده با کد:
https://t.iss.one/alithecodeguy
#js #programming #code #javascript
تشخیص صحت شماره کارت بانکی در جاوا اسکریپت

مطالب بیشتر در کانال رقصنده با کد :
https://t.iss.one/alithecodeguy
و همچنین کانال یوتیوب:
https://www.youtube.com/alithecodeguy


#js #javascript #programming #جاوااسکریپت
فراخوانی متدهای Number روی اعداد صحیح با دو dot notation در جاوااسکریپت

مطالب بیشتر در کانال رقصنده با کد :
https://t.iss.one/alithecodeguy
و همچنین کانال یوتیوب:
https://www.youtube.com/alithecodeguy

#js #javascript #ts #programming
جاوااسکریپت (مشابه همه زبان‌هایی که دارن از استاندارد IEEE754 استفاده می‌کنن) حاصل جمع 0.2 + 0.1 رو به شکل زیر نشون میده:
0.30000000000000004

حالا چرا همچین اتفاقی میفته؟ چون طبق معیارهای استاندارد بالا ، همه اعداد به مبنای باینری تبدیل می‌شن و کمی تقریب پیش میاد. توضیح کامل ترش رو می‌تونید توی لینک زیر بخونید:
https://en.wikipedia.org/wiki/Double-precision_floating-point_format

دلیلش ممکنه برامون خیلی مهم نباشه ولی قطعا راه حلش مهمه.
حالا چطوری می‌تونیم موقع محاسبات از این خطا (اگر بشه بهش گفت خطا) جلوگیری کنیم؟

راه اول : استفاده از کتابخانه جانبی مثل دسیمال جی‌اس:
import Decimal from 'decimal.js';
console.log(new Decimal(0.1).plus(new Decimal(0.2)).toNumber());

راه دوم: استفاده از اینستنس متدهای نامبر:
console.log((0.1 + 0.2).toFixed(2));

راه سوم:استفاده از تقریب ثابت:
const precision = 1000
console.log((0.1 * precision + 0.2 * precision) / precision)

مطالب بیشتر در کانال رقصنده با کد :
https://t.iss.one/alithecodeguy
و همچنین کانال یوتیوب:
https://www.youtube.com/alithecodeguy

#js #programming #tip #es
برای مقایسه رشته‌ها در جاوااسکریپت ، سعی کنید از راه‌های مطمئن استفاده کنید مخصوصا اگر دارید با زبانهایی غیر از لاتین کار می‌کنید.
@alithecodeguy
#js #javascript #es #programming
همچنان معتقدم که ریداکس با اختلاف زیادی از بقیه استیت منیجرها بهتره که بخشی از این مزیتش به خاطر ابزارهای جانبیشه از جمله آرتی‌کی-کویری.
ولی اگر فقط به چشم استیت منیجر بخوایم بهش نگاه کنیم ، توی یک سناریوی خاص (که کم ممکنه براتون پیش بیاد) از زوستند (یا هر تلفط دیگه‌ای که ازش میگن) کم میاره و اون وقتیه که دیتاهاتون مرتبا و احتمالا سرعت بالایی آپدیت میشه. مثلا وقتی که یک جدول کارگزاری ایجاد می‌کنید ممکنه توی یک ثانیه تا ده‌ها آپدیت دریافت کنید. عملا ریداکس شدید کم میاره و فریز میشه چند ثانیه (اگر نخواید دستی تغییرش بدید یا خود جدولی که استفاده می‌کنید آپشنشو نداشته باشه) ولی همونجور که توی داکیومنتهای زوستند مشاهده می‌کنید ، راه حل این موضوع وجود داره.

لینک:
https://lnkd.in/dU6T2ehe

#zustand #redux #react #js #programming
از معجزات جاوااسکریپت تشریف دارن!
البته خیلی به خودش هم ربط نداره. بیشتر مرتبط با انکدینگش هست. توی ام‌دی‌ان قسمت استرینگ توضیحشو پیدا می‌کنید.

جهت تست:
[...'👩‍💻']

#js #es #javascript #programming
آیا از پارامتر دوم و سوم جیسون استرینگفای اطلاع داری؟
پارامتر دوم برای فیلتر یا جایگزینی و پارامتر سوم برای اسپیس‌گذاری هستش.
#js #javascript #programming
دوره مقدماتی و یک روزه ریکت
اطلاعات بیشتر در تصویر
(دوره نکست جی‌اس مقدماتی ، بعد از این دوره تشکیل خواهد شد)

آدرس کانال رقصنده با کد:
https://t.iss.one/+6qj3zj0u8bw5M2I0

#react #js #nextjs #programming #course #free
چهار کد جاوااسکریپت که دیر یا زود نیازت میشه :
-۱ تشخیص صحت کد ملی
۲- تشخیص صحت شناسه ملی افزاد حقوقی
۳- بررسی صحت شماره کارت بانکی
۴- بررسی صحت شماره موبایل‌های ایران

پاورقی : مشابه این پست رو داخل لینکدین هم گذاشتم. ممنون میشم توی لینکدین repost کنید.
آدرس پست لینکدین:
https://www.linkedin.com/posts/alithecodeguy_js-javascript-es-activity-7173394244382932992-KWmj?utm_source=share&utm_medium=member_desktop


#js #javascript #es #programming
توی فارسی برای تبلت ، کلمه رایانک مالشی رو انتخاب کردن. با همین فرمون ، این هم میشه دکمه مالشی برای ریکت 😁
فقط برای ایده گرفتن گذاشتمش. به سلیقه خودتون تغییرش بدید.
سورس روی گیت‌هاب:
https://github.com/alithecodeguy/react_swipe_button

مطالب بیشتر در کانال رقصنده با مد:
https://t.iss.one/+6qj3zj0u8bw5M2I0

#react #programming #css
۱۰۰ کانسپت اصلی جاوااسکریپت در ۱۲ دقیقه که برای یادگیری کاملشون حداقل به یکی دو سال مطالعه و کار عملی نیاز دارید.

https://www.youtube.com/watch?v=lkIFF4maKMU

پیشنهاد میکنم ببینید.