Assalomu alaykum do'stlar! Bu kanalni dasturchi sifatida o'zimning kamtarona bilimim va tajribam bilan ulashish maqsadida ochdim. Soham frontend development bo'lgani uchun asosan shu yo'nalishga oid turli materiallar bilan o'rtoqlashish niyatidaman.
Agar kanalim orqali o'zingizga qandaydir yangilik ololsangiz, kanalni yuritish uchun ketadigan vaqat va sarflangan kaloriyalar o'zini 2 karra oqlagan bo'ladi π.
Nega 2 karra?
Chunki, birinchidan, kimgadir yordami tekkani uchun va ikkinchidan, ilm ulashish orqali boyigani uchun π.
Agar kanalim orqali o'zingizga qandaydir yangilik ololsangiz, kanalni yuritish uchun ketadigan vaqat va sarflangan kaloriyalar o'zini 2 karra oqlagan bo'ladi π.
Nega 2 karra?
Chunki, birinchidan, kimgadir yordami tekkani uchun va ikkinchidan, ilm ulashish orqali boyigani uchun π.
π11π1π₯1
O'zim yozadigan maqolalardan tashqari, ingliz va rus tillaridagi foydali maqolalarni iloji boricha o'zbek tiliga tarjima qilgan holda ulashish niyatim ham bor.
π10
JavaScript bo'yicha hali "tesha tegmagan" mavzularda videolar yaratishni boshladim. Davomli bo'ladi degan umiddaman.
https://www.youtube.com/watch?v=7dNwxIB90pU&ab_channel=BrogrammistUz
https://www.youtube.com/watch?v=7dNwxIB90pU&ab_channel=BrogrammistUz
YouTube
JavaScript modullar
JavaScriptdagi oddiy va modul skriptlar haqida qisqacha video.
#javascript #js #html
#javascript #js #html
π5π₯1
Brogrammist pinned Β«Assalomu alaykum do'stlar! Bu kanalni dasturchi sifatida o'zimning kamtarona bilimim va tajribam bilan ulashish maqsadida ochdim. Soham frontend development bo'lgani uchun asosan shu yo'nalishga oid turli materiallar bilan o'rtoqlashish niyatidaman. Agarβ¦Β»
JavaScript fayllarni HTML'ga kiritganimizda shu attributlardan foydalanishimiz sahifamiz yuklanish tezligini ancha yaxshilaydi.
https://youtu.be/jYepjLCzEAI
https://youtu.be/jYepjLCzEAI
YouTube
Async va Defer attributlari
HTMLda script tegining maxsus attributlari haqida.
#javascript #js #async #defer #html
#javascript #js #async #defer #html
π2
Long time no see! π
Qiziq yangi video! Faqat CSS dan foydalanib "loader" yasash.
#css #cssonly #animation
https://youtu.be/Bs0maRwZQF0
Qiziq yangi video! Faqat CSS dan foydalanib "loader" yasash.
#css #cssonly #animation
https://youtu.be/Bs0maRwZQF0
YouTube
Toza CSS da "loader" yasaymiz (JavaScript'siz)
#html #css #cssanimation
π2π€©1
`JSON.stringify` metodida shu xususiyat borligini bilasizmi?
Obyektlarni `String`ga o'girib beruvchi bu metodni ko'pincha 1 ta parametr bilan ishlatamiz:
Lekin metodda yana 2 ta (optional) parametr bor. To'liq korinishi:
)
1.
Agar massiv bersak, obyektning faqat massivdagi elementlarga mos keluvchi field/maydonlarigina olinadi. Masalan:
Agar funksiya bo'lsa, u orqali biz field'larni filter qilishimiz mumkin:
2.
Obyektlarni `String`ga o'girib beruvchi bu metodni ko'pincha 1 ta parametr bilan ishlatamiz:
JSON.stringify(object
)Lekin metodda yana 2 ta (optional) parametr bor. To'liq korinishi:
JSON.stringify(
object,
?replacer,
?space
)
1.
replace
r - bu parametr funksiya yoki string'lar massivi bo'lishi mumkin. Agar massiv bersak, obyektning faqat massivdagi elementlarga mos keluvchi field/maydonlarigina olinadi. Masalan:
> JSON.stringify({ a: 5, b: 3 }, ['b'])
> '{"b":3}'
Agar funksiya bo'lsa, u orqali biz field'larni filter qilishimiz mumkin:
> JSON.stringify(
{ a: 5, b: 3 },
(key, value) =>
key == 'a'
? 10
: value
)
> '{"a":10,"b":3}'
2.
spac
e - bu parametr orqali obyektimizni indentatsiya qilishimiz mumkin. Masalan space parametri 2 ga teng bo'lsa, natija quydagicha bo'ladi:
> var obj = { name: "Tony", status: { rank : 1, type: "Avenger"}}
> console.log(JSON.stringify(
obj,
undefined,
2
))
{
"name": "Tony",
"status": {
"rank": 1,
"type": "Avenger"
}
}
#js #tips #jsdailyπ5
`EventListener` obyekti
Yaqinda
"The object that receives a notification" (link).
Ya'ni bildirishdi qabul qiluvchi obyekt! Keyin o'ylab qoldim, agar biz listener sifatida obyekt ishlata olsak, u bilan bog'liq bo'gan kodimizni o'sha obyekt bilan inkapsulyatsiya qilishimiz mumkin bo'ladi. Masalan:
Albatta bu usul qanchalik amaliyotga to'g'ri kelishi haqida shubham bor. Shuning uchun keyingi safar event'lar bilan ishlaganimda shu usuldan foydalanib ko'raman. Chunki tajriba qilish o'rganishning eng samarali yo'li.
#js #event #object #evenlistener #jsdaily
Yaqinda
`addEventListener
` metodi callback sifatida faqat funksiya emas obyekt ham olishini bilib qoldim. Agar MDN Web Docs 'dan qarasangiz ham listenerga shunday tarif berilgan: "The object that receives a notification" (link).
Ya'ni bildirishdi qabul qiluvchi obyekt! Keyin o'ylab qoldim, agar biz listener sifatida obyekt ishlata olsak, u bilan bog'liq bo'gan kodimizni o'sha obyekt bilan inkapsulyatsiya qilishimiz mumkin bo'ladi. Masalan:
const listener = {
state: {
message: "Hello",
count: 0,
},
handleEvent(event) {
this.state.count++;
console.log(
event.type,
this.state.message,
this.state.count
);
},
};
button.addEventListener(
"click", listener
);
Albatta bu usul qanchalik amaliyotga to'g'ri kelishi haqida shubham bor. Shuning uchun keyingi safar event'lar bilan ishlaganimda shu usuldan foydalanib ko'raman. Chunki tajriba qilish o'rganishning eng samarali yo'li.
#js #event #object #evenlistener #jsdaily
MDN Web Docs
EventTarget: addEventListener() method - Web APIs | MDN
The addEventListener() method of the EventTarget interface
sets up a function that will be called whenever the specified event is delivered to the target.
sets up a function that will be called whenever the specified event is delivered to the target.
π1
Nega
Bilamiz
Xo'sh, nega metodni
Qizig'i shundaki, biz bu yerda
JavaScript'da tiplar dinamik bo'lgani uchun ko'pincha shunga o'shash surprizlarni uchratish mumkin. Maslahatim esa, har doim dokumentatsiyalarni ochib o'qing!
#js #jsdaily #regexp
/[A-Za-z]/.test()
natijasi βtrueβ?Bilamiz
.test()
metodi string qabul qiladi va uni RegExp
'ga ko'ra tekshiradi. Agar string mos kelsa true
, aks holda false qaytaradi./[A-Za-z]/
esa ingliz alifbosidagi harflarni aniqlovchi RegExp
.Xo'sh, nega metodni
/[A-Za-z]/
bilan argumentsiz chaqirsak true qaytaradi? RegExp'ni bo'sh qiymatga nisbatan tekshirsak false chiqishi kerakmasmidi?Qizig'i shundaki, biz bu yerda
.test()
ni aslida .test(undefined)
holatida chaqiryapmiz. Metod argument sifatida string olishini aytdik. Shuning uchun undefined
string'ga konversiya bo'ladi va 'undefined'
ga aylanadi. 'undefined'
esa ingliz alifbosidagi harflardan iborat so'z! Demak natija true
bo'lishi to'g'ri!JavaScript'da tiplar dinamik bo'lgani uchun ko'pincha shunga o'shash surprizlarni uchratish mumkin. Maslahatim esa, har doim dokumentatsiyalarni ochib o'qing!
#js #jsdaily #regexp
π3
This media is not supported in your browser
VIEW IN TELEGRAM
Bugun yilning 256-kuni. Barcha hamkasblarimni Dasturchilar kuni bilan tabriklayman!
πππ
πππ
This media is not supported in your browser
VIEW IN TELEGRAM
input.valueAsNumber
"Numeric" input elementlarning qiymatini JS orqali o'qiganimizda ularni har doim
Agar input elementlarning
Tepadagi qisqa demonstratsiya StackBlitz'ning Twitter sahifasidan uxlatildi.
#js #jsdaily #tips
"Numeric" input elementlarning qiymatini JS orqali o'qiganimizda ularni har doim
Number
tipiga konversiya qilamiz. Chunki elementning .value
field'i bizga har doim String
qaytaradi.Agar input elementlarning
.valueAsNumber
field'ini ishlatsak bu bosh og'riqdan qutilamiz. Bu field faqat "numeric" inputlar bilan ishlaydi. Ya'ni input type'imiz "number"
, "date"
, "datetime",
yoki "range"
bo'lishi kerak. Aks holda bu field qiymati NaN
ga teng bo'ladi. Hattoki kirilgan qiymat son bo'lsa ham, lekin input type "text"
bo'lsa, .valueAsNumber
bizga NaN
qaytaradi.Tepadagi qisqa demonstratsiya StackBlitz'ning Twitter sahifasidan uxlatildi.
#js #jsdaily #tips
π6