Vanilla JavaScript-ni o'rganishga arziydimi? Mutlaqo.

Ushbu xabarning maqsadi har bir dasturni ishlab chiquvchisi uchun JavaScript asoslarining muhimligini ta'kidlashdir. Sizga nima uchun toza (Vanilla) JavaScript-ni yaxshi bilishingiz kerakligini aytaman. Bu hech qanday qo'shimcha ramkalar yoki kutubxonalarsiz JavaScript-ni anglatadi.

Ushbu asoslarni o'rganishga yordam bergan bir nechta manbalarni ham eslatib o'taman.

Ushbu postning yana bir sababi shundaki, ko'plab intilishni istagan veb-ishlab chiquvchilar yuk ko'tarish, yopish yoki prototiplar kabi asosiy JavaScript tushunchalarini o'tkazib yuborishga moyildirlar. Ular to'g'ridan-to'g'ri React yoki Angular 2 kabi eng issiq ramkalarga boradilar. Men sizga bu yondashuv eng qulay emasligini ko'rsataman.

Har kim $ {addTheHotFramework} haqida ma'lumotga ega bo'lgan dasturchilarni xohlaydi ...

Shunday qilib, sizda Vanilla JavaScript-ni o'rganishdan bezovta qilish uchun biron bir sabab bormi?

Tilning mohiyatini bilmasdan kuchli dasturchi bo'lish qiyin. Huquqning ma'lum bir sohasiga kirishdan oldin siz qonunning asosiy printsiplarini tushunishingiz kerak. Bu taqqoslash tasodifiy emas.

Tushunadigan veb-ishlab chiqaruvchilarning ko'pchiligi iloji boricha tezroq ishga yollanishni istashlarini tushunaman. Men ham buni xohlardim.

JavaScript asoslari bo'yicha avariya kurslarini o'tkazish, ba'zi bir xayoliy doiralarga o'tish, toDo ro'yxatini tuzish (kuchukcha o'lib qolsin), GitHub-ga yuklash, keyin ish qidirishni boshlash osonroq.

... lekin Vanilla JavaScript-ga mablag 'sarflash uzoq muddatda o'zini oqlaydi

Meni bu erda adashtirmang. Men hech qanday tarzda JavaScript ramkalariga qarshi emasman. Bu butunlay teskarisi. Ularning aksariyati sizga o'qilishi oson va saqlanadigan kodni yozishda yordam beradi. Ular sizga ko'proq mavhum kodni yozishga imkon beradi, bu odatda disk raskadrovka qilish osonroq.

Ammo JavaScript ekotizimi juda tez rivojlanmoqda. Yangi ramkalar yaratilmoqda. Mavjud bo'lganlarga yangi funktsiyalar qo'shilmoqda. Eng muhimi, bugungi kunda eng issiq ramkalar oxir-oqibat o'zgartiriladi, masalan, Burular 1.

Bunday holatlarda, siz hali ham veb-ishlab chiqaruvchiga ma'lum bir JavaScript doirasini bilish etarli deb o'ylaysizmi?

Yoki bu barcha kutubxonalar va ramkalarni qalpoq ostidagi ishlarga asoslangan tilni qanday tushunish kerak?

Ha, siz haqsiz, bu ikkinchi variant.

Agar siz JavaScript asoslari to'g'risida puxta bilimga ega bo'lsangiz, yangi ramka bilan ishlashni boshlashda tanishishingiz kerak bo'lgan yagona narsa bu uning sintaksisidir. Asosiy qoidalar bir xil bo'ladi, chunki mavhumlashtirishning barcha qatlamlarida. Bu hanuzgacha JavaScript-ni aniq qilib turibdi.

Agar sizning bilimlaringiz faqat bitta JavaScript doirasi bilan chegaralangan bo'lsa, siz yangisini o'rganishga qiynalasiz. Turli xil ramkalar ko'pincha turli xil JavaScript tamoyillariga asoslanadi. Istiqbolda siz turli xil ramkalarni tushunishga va ularda yozgan kodni tuzatishga ko'proq vaqt sarflaysiz.

JavaScript-ning barcha ramkalari va kutubxonalari muqarrar ravishda uning Vanilla yadrosiga asoslanadi.

Bu hech kimni toza JavaScript haqidagi bilim kelajakda zarur bo'lganligiga ishontirishi kerak. Bu har qanday muvaffaqiyatli dasturchi uchun, ayniqsa JavaScript ekotizimida ishlaydiganlar uchun zaruriy shartdir.

Shaxsiy tajriba

Yaqinda men advokatdan veb-ishlab chiqaruvchiga bo'lgan sayohatimga qaradim. Men o'zimning birinchi JavaScript funktsiyamni yozganimdan va 10 oy davomida professional ishlab chiqaruvchi sifatida ishlaganimdan beri 18 oy o'tdi.

Dasturlash tajribasiga ega bo'lmaganligim sababli JavaScript-ni o'rganish uchun to'g'ri yo'lni topish men uchun qanchalik qiyin bo'lganini haligacha eslayman. Men samarali o'quvchi bo'lish uchun turli xil usullarni sinab ko'rdim (va hanuzgacha harakat qilaman). Ulardan ba'zilari ko'proq mukofotlangan, ba'zilari kamroq.

Eng asosiysi, men boshidanoq toza JavaScript-ni o'rganishga katta ahamiyat berganim uchun bu menga qanchalik foydali bo'lganini ta'kidlay olmayman. Keyinchalik ramkalar paydo bo'ldi.

rasm krediti

Ayni paytda men React-Redux stack bilan ishlamoqdaman. Shunga qaramay, men tez-tez Vanilla JavaScript-ni bilganim tufayli hal qila oladigan muammoga duch kelaman. Ushbu xatolarni faqat ma'lum bir ramka bilimi bilan hal qilish ancha qiyin bo'ladi.

Learning React yoki Angular 2 sizga ob'ektlar ma'lumotnomalar orqali o'tishi yoki yopilishlar qanday ishlashini o'rgatmaydi. Ushbu tushunchalarni ramka tomonidan olib borilgan abstraksiyalar ostida tushunishga harakat qilish ancha qiyin. Bu oddiy JavaScript tushunchalarini tushunishni qiyinlashtiradi.

Bundan tashqari, agar siz JSX (React, Vue, Inferno) yoki TypeScript (Angular 2) bilan ishlayotgan bo'lsangiz, uning ustida yana bir abstraktsiya qatlami mavjud.

Agar siz ushbu ramkalar kaput ostida qanday ishlashini tushunmoqchi bo'lsangiz, avval JavaScript-ning o'zi qanday ishlashini bilishingiz kerak.

Siz toza JavaScript haqidagi bilimingizni o'zingizning sevimli doirangizning boshlang'ich kodini o'qish orqali sinab ko'rishingiz mumkin. Bu sizga kaput ostida qanday ishlashni tasvirlabgina qolmay, balki siz o'z kodingizda ishlatishingiz mumkin bo'lgan mantiq haqida ko'p narsalarni o'rgatadi. Siz shuni ko'rasizki, sizning dasturingizda juda ko'p sehr-jodu qilayotganday ramka funktsiyalari shunchaki JavaScript tushunchalarining tarkibiy qismidir.

Menga nimani o'rganishim mumkinligini bering

Hozir siz bermoqchi bo'lgan savol: "Vanilla JavaScript-ni yaxshi bilishga yordam beradigan qanday yaxshi manbalar bor?".

JavaScript va uning asoslari haqida ko'plab darsliklar va kitoblar mavjud. Ammo ulardan ba'zilari sizga Vanilla JavaScript-ni har tomonlama o'rgatishni maqsad qilgan. Ularning aksariyati ma'lum bir JavaScript texnologiyasiga ixtisoslashgan.

Ammo hali ham yaxshi bor ...

Barkamol JavaScript sizga nafaqat JavaScript asoslarini, balki umuman dasturlash asoslarini ham o'rgatadi. Agar siz allaqachon rivojlangan dasturchi bo'lsangiz, ushbu kitob sizga JavaScript va uning asosiy printsiplari haqida yangi tasavvur beradi.

Yana bir ajoyib manba Kayl Simpsonning "Siz bilmaysiz JavaScript (YDKJS)" kitoblar seriyasidir. Kayl haqiqatan ham qanday o'qitishni biladi. Uning rivojlangan JavaScript tushunchalarini tushuntirishlari boshlang'ichlarga ma'qul va u ularni chuqur qamrab oladi. Kitoblarning shunchaki sarlavhalari sizga nimani o'rganmoqchi ekanligingiz haqida ma'lumot beradi. "Yuqoriga va borish", "Qo'llanish doirasi va yopilish", "bu va ob'ektning prototiplari", "Turlar va grammatika", "Async & Performance", "ES6 & Beyond". JavaScript-da funktsional dasturlash haqida yangi 7-kitob ham mavjud.

Eloquent JavaScript va YDKJS-ning eng yaxshi jihatlaridan biri shundaki, siz ularni bepul olishingiz mumkin (berilgan havolalarni tekshiring). Ammo agar siz ularni haqiqatan ham foydali deb bilsangiz, mualliflarni sotib olish orqali ularni qo'llab-quvvatlashni unutmang.

Agar siz ko'proq video kurs ishlaydigan odam bo'lsangiz, Kaylning onlayn kurslarini tomosha qilishingiz mumkin. O'ylaymanki, qila oladigan eng yaxshi narsa - ularni kitoblariga sherik sifatida tomosha qilish, chunki mavzular bir xil. Biroq, bu kurslar pullik.

Foydali deb bilgan yana bir video darsim Javascript: g'alati qismlarni tushunish Entoni Alicea. Javob JavaScript-da nima sodir bo'lishi mumkinligini tushuntirib beradi. U prototipik meros, funktsional dasturlash va qamrov zanjiri kabi rivojlangan tushunchalarni qamrab oladi.

Endi Vanilla JavaScript-ni o'rganing

Agar siz qimmatbaho vaqtingizni Vanilla JavaScript-ni o'rganishga sarflasangiz, bundan afsuslanmaysiz. U nafaqat vanilya so'zini o'z ichiga oladi, balki dasturlash qobiliyatiga foydali ta'sir ko'rsatadi.

Men uchun eng yaxshi yutuq shundan iboratki, toza JavaScript-ni o'rganish sizga ma'lum vaqt ichida mablag 'sarflashdan ko'ra ko'proq vaqt beradi. Ramkalar shunchaki yorliqlardir. Kaput ostida barcha JavaScript mavjud.

Siz foydalanadigan ramkada kutilmagan xatti-harakatlar bo'lgan vaziyatda o'zingizni ko'rasiz. Bunday holda, siz ushbu xatoni dastlabki kod orqali tekshirishingiz kerak bo'ladi. Men ko'p ramkalarda munosib hujjatlar yo'qligiga qaramay, ular juda murakkab kodga ega ekanligini aytdimmi? Xo'sh, pirojnoe, to'g'rimi? Siz allaqachon Vanilla JavaScript-ni o'rganishga ko'p vaqt sarflagansiz. Yoki hali yo'qmi?

Ushbu postdan faqat bitta narsani eslay olasizmi:

Har doim shuni yodda tutingki, Vanilla JavaScript-ni bilish sizga yanada yaxshi dasturchi bo'lishga yordam beradi. Davr.

Agar sizga ushbu maqola yoqqan bo'lsa, unga bir nechta sharhlar bering. Men buni juda qadrlayman.

Ushbu xabar dastlab mening blogimda chop etilgan.

Tvitterda ko'rish