Transitive dependencies
Proyektda
#tips_and_tricks
Proyektda
dependencies
yoki devDependencies
ichida bo'lmay turib biror paketning nega o'rnatilganini bilmoqchi bo'lsangiz npm why
komandasini ishlatishingiz mumkin.#tips_and_tricks
π35
JavaScriptda string qiymatlar xotirada qaysi encodingda saqlanadi?
Anonymous Quiz
30%
ASCII
52%
UTF-8
11%
UTF-16
7%
UTF-32
π₯12π1
Quyidagilardan qaysi biri false qaytaradi?
Anonymous Quiz
23%
typeof null === βobjectβ
8%
[] instanceof Object
25%
0.1 + 0.2 !== 0.3
44%
({}) == ({})
π₯22π1
JavaScriptda sonlarning butun va kasr qismi uchun nechtadan bit ajratiladi?
Anonymous Quiz
58%
Butun 32, kasr 31
21%
Butun 48, kasr 15
12%
Butun 53, kasr 10
9%
Butun 56, kasr 7
π9π1
Quyidagilardan qaysi biri true qiymat qaytaradi?
Anonymous Quiz
6%
12 < 3
39%
β12β < 3
46%
β12β < β3β
9%
Bilmayman
π11π₯5π2β€1
Qaysi konstruksiyada strict mode implicit yoqilmaydi?
Anonymous Quiz
22%
Module
23%
Class
38%
Arrow function
17%
Bilmayman
π8π₯2
Quyidagilardan qaysi birida vaqt murakkablik (time complexity) O(n)ga teng?
Anonymous Quiz
17%
object.prop
49%
Array.includes(element)
17%
Set.has(element)
18%
Map.get(key)
π4β€1π1
ESM modullar browserda "by default" (tarjimasini bilganlar yozvorishsin) kech yuklanadi (deferred).
Biz bilamizki, browserda script taglar kech yuklanishi uchun defer atribut berishimiz kerak. Bo'lmasa browser script tagni uchratishi bilan html processingni tohtatib scriptni yuklab(fetch) va ishlatish(execute)ni boshlaydi. Bu oz navbatida undan keyin kelgan html elementlarning DOMda topilmasligiga sabab boladi. Agar scriptimizda type=module bolsa defer avtomat tarzda yoqiladi.
manba: https://v8.dev/features/modules#defer
#did_you_know
Biz bilamizki, browserda script taglar kech yuklanishi uchun defer atribut berishimiz kerak. Bo'lmasa browser script tagni uchratishi bilan html processingni tohtatib scriptni yuklab(fetch) va ishlatish(execute)ni boshlaydi. Bu oz navbatida undan keyin kelgan html elementlarning DOMda topilmasligiga sabab boladi. Agar scriptimizda type=module bolsa defer avtomat tarzda yoqiladi.
manba: https://v8.dev/features/modules#defer
#did_you_know
v8.dev
JavaScript modules Β· V8
This article explains how to use JavaScript modules, how to deploy them responsibly, and how the Chrome team is working to make modules even better in the future.
π22π₯6
VSCodeda importlar va xatolarni tuzatish
Skrindagi config vscodeda importlar bilan ishlashni qulaylashtiradi, yozilgan amallar file saqlanayotganda yozilgan ketma-ketlikda bajariladi:
- Avval ishlatilmagan importlar olib tashlanadi;
- Keyin yetishmaydigan importlar qoshib chiqiladi (tekshirish kerak bolishi mumkin, agar birdan kop import bolsa malum qoidalarga ko'ra birinchisi tanlanadi);
- Keyin importlar malum qoidalarga qarab sort qilinadi;
- Oxirida linter (eslint, stylelint...) xatolar tuzatiladi.
PS:
Skrindagi config vscodeda importlar bilan ishlashni qulaylashtiradi, yozilgan amallar file saqlanayotganda yozilgan ketma-ketlikda bajariladi:
- Avval ishlatilmagan importlar olib tashlanadi;
- Keyin yetishmaydigan importlar qoshib chiqiladi (tekshirish kerak bolishi mumkin, agar birdan kop import bolsa malum qoidalarga ko'ra birinchisi tanlanadi);
- Keyin importlar malum qoidalarga qarab sort qilinadi;
- Oxirida linter (eslint, stylelint...) xatolar tuzatiladi.
PS:
.vscode/settings.json
fileni gitga qoshsa teamdagi hamma vscode foydalanuvchilariga foydali boladiπ41π₯11π2β€1
AbortSignal va AbortController
AbortSignal qabul qiladigan APIlar:
- Fetch
- EventTarget API
- ReadableStream/WritableStream
- WebSocket
-
-
-
AbortSignal/AbortController
interfacelari async operasiyalarni tohtatish uchun ishlatiladi. Masalan, juda ko'p ishlatiladigan fetch()
funksiya RequestInit
parameter(object)ga signal
nomli property kutadi (optional) va biz bu propertyga AbortSignal
instance berishimiz mumkin. Va keyinroq bu AbortController
instancening .abort()
methodini chaqirib requestni tohtatishimiz mumkin.AbortSignal qabul qiladigan APIlar:
- Fetch
- EventTarget API
- ReadableStream/WritableStream
- WebSocket
AbortSignal
instance odatda AbortController
da saqlanadi, uni new AbortController()
qilib yaratamiz, lekin uni AbortSignal
static methodlari orqali ham yaratishimiz mumkin. Bular:-
AbortSignal.abort()
- Allaqachon abort qilingan instance yaratadi.-
AbortSignal.any()
- Parameterga AbortSignallardan tashkil topgan iterable oladi va ulardan biri abort bolganda bu ham abort boladi.-
AbortSignal.timeout()
- Parameterda berilgan millisekund qiymatda avtomat abort boladigan instance qaytaradi (Backenddan kutilayotgan javobga timeout qoyish uchun juda qulay)π₯19π12β€4
Keyingi post yoki videolar nima haqida boβlishini hohlardiz?
Anonymous Poll
25%
JavaScript
40%
TypeScript
17%
React
19%
Testing
β€3π1π₯1
YouTube
TypeScript through docs: Intro into resources
π23β€3π₯3
Rewrite git history
Adashib asosiy branchga commit va push qilib qoydingiz mi? Havotirga oβrin yoβq, quyidagicha orqaga qaytaramiz:
Adashib asosiy branchga commit va push qilib qoydingiz mi? Havotirga oβrin yoβq, quyidagicha orqaga qaytaramiz:
git checkout main
git reset --soft HEAD
git push origin main --force
git checkout new-branch
git add .
git commit -m "commit to new branch"
git push origin new-branch
π₯53π23β€4
Zed for Linux
Linux foydalanuvchi dasturchilarga hushxabar. Zed linuxga ham release bo'ldi (to'g'risi o'zim tekshirib ko'rishga imkoniyatim bo'lmadi).
https://zed.dev/linux
Linux foydalanuvchi dasturchilarga hushxabar. Zed linuxga ham release bo'ldi (to'g'risi o'zim tekshirib ko'rishga imkoniyatim bo'lmadi).
https://zed.dev/linux
Zed
Zed on Linux is here!
We've stabilized our Linux build, download it today!
π11π₯4
YouTube
TypeScript through docs: The Basics
π₯21π3
Consoleda nima chiqadi?
console.log(Boolean('true'), Boolean('false'));
console.log(Boolean('true'), Boolean('false'));
Anonymous Quiz
11%
false false
6%
false true
28%
true false
56%
true true
π₯8π6β€2
Updating packages
Eskirgan paketlarni korish uchun:
Ularni "upgrade" qilish uchun:
ishlatishingiz mumkin
#tips_and_tricks
Eskirgan paketlarni korish uchun:
npm outdated
Ularni "upgrade" qilish uchun:
npx npm-check-updates -i
ishlatishingiz mumkin
#tips_and_tricks
β€16π16