Kirish:

Mashinalarni o'rganish tez rivojlanayotgan soha bo'lib, u ko'plab sohalarni inqilob qilish imkoniyatiga ega. Bu sun'iy intellektning bir bo'limi bo'lib, u kompyuterlarga ma'lumotlardan o'rganish va aniq dasturlashtirilmasdan bashorat qilish yoki qaror qabul qilish imkonini beradi. So'nggi yillarda JavaScript kutubxonalari va ramkalarining rivojlanishi tufayli veb-ishlab chiqishda mashinani o'rganishdan foydalanish tobora ommalashib bormoqda.

Ushbu maqolada biz JavaScript-da amalga oshirilishi mumkin bo'lgan turli xil mashinalarni o'rganishni o'rganamiz. Biz nazorat ostida va nazoratsiz o'rganish, tasniflash va regressiya kabi mavzularni, shuningdek, neyron tarmoqlar va chuqur o'rganish kabi ilg'or usullarni qamrab olamiz.

JavaScript-da mashinani o'rganishni amalga oshirish uchun biz TensorFlow.js, Brain.js va ML.js kabi mashhur kutubxonalardan foydalanamiz. Ushbu kutubxonalar ishlab chiquvchilarga tez va oson mashinani o'rganish modellarini yaratishga yordam beradigan keng ko'lamli vositalar va funktsiyalarni taqdim etadi. Bundan tashqari, biz Numpy.js, Scikit-learn.js kabi boshqa kutubxonalarni ham ko'rib chiqamiz, ulardan bir nechtasini eslatib o'tamiz, ulardan matematik operatsiyalar va ma'lumotlarni manipulyatsiya qilish uchun foydalanish mumkin.

Ushbu maqolada biz JavaScript-da mashinani o'rganish modellarini amalga oshirish bo'yicha kod misollari va bosqichma-bosqich ko'rsatmalar berib, amaliy yondashuvni qo'llaymiz. Ushbu maqolaning oxirida siz JavaScript-da mashinani o'rganish asoslarini yaxshi tushunasiz va o'zingizning mashina o'rganish modellaringizni yaratishni boshlashingiz mumkin.

Rivojlanish muhitini sozlash:

JavaScript-da mashinani o'rganish modellarini joriy qilishni boshlashdan oldin, biz ishlab chiqish muhitimizni sozlashimiz kerak. Bu zarur vositalar va kutubxonalarni o'rnatish va sozlashni o'z ichiga oladi.

Birinchidan, mashinamizda Node.js va npm (Node Package Manager) o'rnatilganligiga ishonch hosil qilishimiz kerak. Node.js - JavaScript-ni mahalliy mashinamizda ishga tushirish imkonini beruvchi JavaScript ish vaqti, npm esa kutubxonalar va bog'liqliklarni o'rnatish va boshqarishni osonlashtiradigan paket menejeri.

Node.js va npm o'rnatilgandan so'ng, biz JavaScript-da mashinani o'rganish uchun kerakli kutubxonalarni o'rnatishimiz mumkin. Shu maqsadda eng mashhur kutubxonalar TensorFlow.js, Brain.js va ML.js. Terminalda quyidagi buyruqlarni bajarish orqali ularni npm yordamida o'rnatishimiz mumkin:

npm install @tensorflow/tfjs
npm install brain.js
npm install ml.js

Ushbu kutubxonalarga qo'shimcha ravishda, matematik operatsiyalar va ma'lumotlarni manipulyatsiya qilish uchun ishlatilishi mumkin bo'lgan Numpy.js, Scikit-learn.js kabi boshqa kutubxonalarni ham o'rnatishimiz kerak bo'ladi.

Kerakli kutubxonalarni o'rnatganimizdan so'ng, biz mahalliy rivojlanish muhitini o'rnatishimiz mumkin. Bu odatda yangi loyiha katalogini yaratish, uni Node.js loyihasi sifatida ishga tushirish va kodimizni yozishimiz mumkin bo'lgan yangi JavaScript faylini yaratishni o'z ichiga oladi. Buni terminalda quyidagi buyruqlarni bajarish orqali amalga oshirishimiz mumkin:

mkdir my-project
cd my-project
npm init -y
touch index.js

Rivojlanish muhitimiz o'rnatilgandan so'ng, biz JavaScript-da mashinani o'rganish modellarini joriy qilishni boshlashga tayyormiz.

Mashina o'rganish asoslarini tushunish:

Mashinani o'rganish - bu juda ko'p turli xil texnika va algoritmlarni o'z ichiga olgan keng maydon. JavaScript-da mashinani o'rganish modellarini qanday amalga oshirishni tushunish uchun birinchi navbatda mashinani o'rganishda ishlatiladigan asosiy tushunchalar va atamalarni tushunish muhimdir.

Mashinani o'rganishdagi asosiy tushunchalardan biri bu nazorat ostidagi va nazoratsiz o'rganish o'rtasidagi farqdir. Nazorat ostida o'rganish - kerakli natija allaqachon ma'lum bo'lgan etiketli ma'lumotlar to'plamida modelni o'qitish jarayoni. Masalan, yangi tasvirlarni tasniflashni o'rganish uchun nazorat ostidagi o'rganish algoritmi tasvirlar ma'lumotlar to'plami va ularga mos teglar (masalan, "it", "mushuk", "mashina" va boshqalar) bo'yicha o'qitilishi mumkin. Boshqa tomondan, nazoratsiz o'rganish, kerakli natija noma'lum bo'lgan yorliqsiz ma'lumotlar to'plamida modelni o'qitishni o'z ichiga oladi. Nazoratsiz o'rganishning bir misoli klasterlash bo'lib, algoritm o'xshash ma'lumotlar nuqtalarini birlashtiradi.

Mashinani o'rganishdagi yana bir muhim tushuncha - bu tasniflash va regressiya o'rtasidagi farq. Tasniflash - bu yorliq yoki sinf kabi toifali natijani bashorat qilish jarayoni. Masalan, elektron pochta spam yoki spam emasligini aniqlash uchun tasniflash algoritmidan foydalanish mumkin. Boshqa tomondan, regressiya - bu raqam yoki qiymat kabi doimiy natijani bashorat qilish jarayoni. Masalan, regressiya algoritmi turli xususiyatlar asosida uyning narxini bashorat qilish uchun ishlatilishi mumkin.

Sanoatda keng qo'llaniladigan ko'plab mashhur mashina o'rganish algoritmlari mavjud. Eng mashhur nazorat ostida o'rganish algoritmlaridan ba'zilari:

  • Chiziqli regressiya
  • Logistik regressiya
  • Qaror daraxtlari
  • Tasodifiy o'rmon
  • Vektorli mashinalarni (SVM) qo'llab-quvvatlash
  • Neyron tarmoqlari

Ommabop nazoratsiz o'rganish algoritmlariga quyidagilar kiradi:

  • K- degani
  • Ierarxik klasterlash
  • Asosiy komponentlar tahlili (PCA)
  • O'z-o'zini tashkil qiluvchi xaritalar (SOM)

Har bir algoritmning o'ziga xos foydalanish holatlari va kuchli tomonlari mavjud. Misol uchun, chiziqli regressiya oddiy algoritm bo'lib, u ko'pincha asosiy regressiya vazifalari uchun ishlatiladi, neyron tarmoqlar esa murakkabroq va kuchliroq, lekin ko'proq hisoblash resurslarini talab qiladi.

Shuni ta'kidlash kerakki, mashinani o'rganishda boshqa ko'plab algoritmlar va usullar mavjud, bu eng mashhurlarining qisqacha sharhi, maqola ularning har biriga chuqurroq kirib borishi mumkin.

JavaScript-da mashinani o'rganishning oddiy modellarini joriy qilish:

Endi biz mashinani o'rganishda qo'llaniladigan tushunchalar va atamalar haqida asosiy tushunchaga egamiz, biz JavaScript-da oddiy mashinani o'rganish modellarini amalga oshirishni boshlashimiz mumkin. Ushbu bo'limda biz amaliy yondashuvni qo'llaymiz, kod misollari va JavaScript-da chiziqli regressiya va k-vositalarni klasterlash modellarini qanday amalga oshirish bo'yicha tushuntirishlar beramiz.

Chiziqli regressiya:

Chiziqli regressiya - bu doimiy natijani bashorat qilish uchun ishlatiladigan oddiy nazorat ostida o'rganish algoritmi. Kirish va chiqish o'zgaruvchilari o'rtasidagi munosabatlar chiziqli deb taxmin qilinadi.

JavaScript-da chiziqli regressiyani amalga oshirish uchun TensorFlow.js kabi kutubxonadan foydalanishimiz mumkin. Quyidagi kod chiziqli regressiya modelini o'rgatish uchun TensorFlow.js dan qanday foydalanishga misol ko'rsatadi:

const tf = require('@tensorflow/tfjs');

// Define the model
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));

// Compile the model
model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

// Generate some synthetic data for training
const xs = tf.tensor1d([1, 2, 3, 4]);
const ys = tf.tensor1d([1, 3, 5, 7]);

// Train the model
model.fit(xs, ys, {epochs: 10}).then(() => {
  // Use the model to predict values
  model.predict(tf.tensor2d([5], [1, 1])).print(); // Output: 8
});

Yuqoridagi kod bitta kirish va chiqish qatlamiga ega chiziqli regressiya modelini belgilaydi. Keyin model optimallashtiruvchi (stokastik gradient tushishi) va yo'qotish funktsiyasi (o'rtacha kvadrat xato) bilan kompilyatsiya qilinadi. Shundan so'ng, u o'qitish uchun ba'zi sintetik ma'lumotlarni yaratadi va fit() usuli yordamida modelni o'rgatadi. Va nihoyat, u yangi kiritilgan ma'lumotlar bo'yicha bashorat qilish uchun o'qitilgan modeldan foydalanadi.

K-klasterlash degani:

K-means klasterlash - bu o'xshash ma'lumotlar nuqtalarini guruhlash uchun ishlatiladigan oddiy nazoratsiz o'rganish algoritmi. Algoritm iterativ ravishda har bir ma'lumot nuqtasini eng yaqin o'rtachaga ega bo'lgan klasterga belgilaydi.

Biz ML.js kabi kutubxonadan foydalanib, JavaScript-da k-vositalarni klasterlashni amalga oshirishimiz mumkin. Quyidagi kod k-vositalarni klasterlashni amalga oshirish uchun ML.js dan qanday foydalanishga misol ko'rsatadi:

const ml = require('ml.js');

// Define the data
const data = [[1, 2], [2, 3], [3, 4], [4, 5]];

// Perform k-means clustering
const kmeans = new ml.KMeans({k: 2});
kmeans.cluster(data);

// Print the cluster assignments
console.log(kmeans.predict(data)); // Output: [0, 0, 1, 1]

Yuqoridagi kodda biz birinchi navbatda ma'lumotlar to'plamini massivlar massivi sifatida belgilaymiz. Har bir ichki massiv ma'lumotlar nuqtasini ifodalaydi va ikkita qiymatni o'z ichiga oladi. Keyin biz KMeans sinfining yangi nusxasini yaratamiz, biz kerakli klasterlar sonini (2) variant sifatida kiritamiz. Keyinchalik, biz ma'lumotlarimizda klasterlashni amalga oshirish uchun cluster() usulidan foydalanamiz va nihoyat, har bir ma'lumot nuqtasi uchun klaster topshiriqlarini olish uchun taxmin qilish () usulidan foydalanamiz.

Shuni ta'kidlash kerakki, ushbu kod misollari faqat boshlang'ich nuqtadir va ular loyihaning o'ziga xos talablariga qarab sozlanishi va kengaytirilishi mumkin. Ushbu misollarda foydalanilgan kutubxonalar, shuningdek, modellarning ishlashini yaxshilash va yaxshilash uchun ishlatilishi mumkin bo'lgan boshqa ko'plab foydali funktsiyalar va usullarni taqdim etadi.

Bundan tashqari, shuni ta'kidlash kerakki, ushbu oddiy modellar har doim ham haqiqiy muammolar uchun mos kelmasligi mumkin, chunki ular ba'zi cheklovlar va taxminlarga ega. Ko'p hollarda yaxshi ishlash va aniqlikka erishish uchun murakkabroq modellar kerak bo'lishi mumkin. Biroq, ushbu oddiy modellarni qanday amalga oshirishni tushunish JavaScript-da mashinani o'rganish asoslarini tushunish uchun ajoyib boshlanish nuqtasi bo'lib, yanada ilg'or loyihalar uchun asos bo'lib xizmat qilishi mumkin.

JavaScript-da ilg'or mashinani o'rganish:

Chiziqli regressiya va k-vositalarni klasterlash kabi oddiy mashinani o'rganish modellari ma'lum vazifalar uchun foydali bo'lishi mumkin bo'lsa-da, ko'plab real muammolar yanada murakkab modellarni talab qiladi. Ushbu bo'limda biz JavaScript-da amalga oshirilishi mumkin bo'lgan neyron tarmoqlar va chuqur o'rganish kabi ilg'or mashina o'rganish modellarining ba'zi misollarini ko'rib chiqamiz.

Neyron tarmoqlari:

Neyron tarmoq - bu inson miyasining tuzilishi va funktsiyasidan ilhomlangan mashinani o'rganish modelining bir turi. Neyron tarmoqlar ma'lumotlarni qayta ishlovchi va uzatuvchi neyronlar deb ataladigan o'zaro bog'langan tugunlar qatlamlaridan iborat. Ulardan tasvir va nutqni aniqlash, tabiiy tilni qayta ishlash va hatto shaxmat va Go kabi o‘yinlarni o‘ynash kabi keng ko‘lamli vazifalar uchun foydalanish mumkin.

JavaScript-da neyron tarmoqni amalga oshirish uchun TensorFlow.js kabi kutubxonadan foydalanishimiz mumkin. Quyidagi kodda tasvir tasnifi uchun oddiy neyron tarmoq yaratish uchun TensorFlow.js dan qanday foydalanishga misol keltirilgan:

const tf = require('@tensorflow/tfjs');

// Define the model
const model = tf.sequential();
model.add(tf.layers.conv2d({
  inputShape: [28, 28, 1],
  kernelSize: 5,
  filters: 8,
  strides: 1,
  activation: 'relu',
  kernelInitializer: 'varianceScaling'
}));
model.add(tf.layers.maxPooling2d({poolSize: [2, 2], strides: [2, 2]}));
model.add(tf.layers.flatten());
model.add(tf.layers.dense({units: 10, kernelInitializer: 'varianceScaling', activation: 'softmax'}));

// Compile the model
model.compile({optimizer: 'sgd', loss: 'categoricalCrossentropy', metrics: ['accuracy']});

// Train the model
const trainData = ... // load and preprocess training data
const trainLabels = ... // load and preprocess training labels
model.fit(trainData, trainLabels, {epochs: 10});

Yuqoridagi kodda biz bir necha qatlamli konvolyutsion neyron tarmog'ini (CNN) aniqlaymiz. Model 28x28 piksel o'lchamdagi kirish tasvirlarini oladi va 10 ta mumkin bo'lgan sinfga mos keladigan 10 birlikdan iborat bitta chiqish qatlamiga ega. Shuningdek, biz modelni optimallashtiruvchi, yo'qotish funksiyasi va ba'zi ko'rsatkichlar bilan kompilyatsiya qilamiz va modelni fit() usuli yordamida o'rgatamiz.

Chuqur o'rganish:

Deep Learning - bu ko'p qatlamli neyron tarmoqlari, ya'ni chuqur neyron tarmoqlari bilan bog'liq bo'lgan Machine Learningning kichik to'plami. Ushbu modellar bashorat qilish yoki qaror qabul qilish uchun ishlatilishi mumkin bo'lgan tasvirlar, tovush va matn kabi xom ma'lumotlardan xususiyatlarni o'rganishga qodir.

JavaScript-da chuqur o'rganish modelini amalga oshirish uchun Keras.js kabi kutubxonadan foydalanishimiz mumkin. Keras.js kuchli kutubxona boʻlib, Keras API yordamida chuqur oʻrganish modellarini aniqlash va oʻrgatish imkonini beradi. Quyidagi kodda Keras.js-dan rasm tasnifi uchun oddiy chuqur o'rganish modelini yaratish uchun qanday foydalanish misoli ko'rsatilgan:

const keras = require('keras');

// Define the model
const model = new keras.Sequential();
model.add(new keras.layers.Conv2D({inputShape: [28, 28, 1], filters: 32, kernelSize: 3, activation: 'relu'}));
model.add(new keras.layers.MaxPooling2D({poolSize: [2, 2]}));
model.add(new keras.layers.Conv2D({filters: 64, kernelSize: 3, activation: 'relu'}));
model.add(new keras.layers.MaxPooling2D({poolSize: [2, 2]}));
model.add(new keras.layers.Flatten());
model.add(new keras.layers.Dense({units: 64, activation: 'relu'}));
model.add(new keras.layers.Dense({units: 10, activation: 'softmax'}));
// Compile the model
model.compile({optimizer: 'sgd', loss: 'categoricalCrossentropy', metrics: ['accuracy']});
// Train the model
const trainData = ... // load and preprocess training data
const trainLabels = ... // load and preprocess training labels
model.fit(trainData, trainLabels, {epochs: 10});

Ushbu misolda biz bir nechta konvolyutsion va maksimal birlashtiruvchi qatlamlar, shuningdek, to'liq bog'langan qatlamlar bilan chuqur o'rganish modelini aniqlaymiz. Shuningdek, biz modelni optimallashtiruvchi, yo'qotish funksiyasi va ba'zi ko'rsatkichlar bilan kompilyatsiya qilamiz va modelni fit() usuli yordamida o'rgatamiz.

Biroq, JavaScript-da ilg'or mashinani o'rganish modellarini amalga oshirish qiyin bo'lishi mumkin, bu ko'proq hisoblash resurslarini talab qiladi va hisoblash qimmat bo'lishi mumkin, shuningdek, asosiy matematika va tushunchalarni yaxshi tushunishni talab qilishi mumkin. Bundan tashqari, Python kabi boshqa tillar bilan solishtirganda mavjud kutubxonalar va vositalar bo'yicha cheklovlar bo'lishi mumkin. Modellarning ishlashi va miqyosi, shuningdek, modellarni ishlab chiqarish muhitida joylashtirish qobiliyatini hisobga olish ham muhimdir.

Xulosa qilib aytganda, JavaScript-da mashinani o'rganishni amalga oshirish AI kuchini veb-ilovalarga etkazishning kuchli usuli hisoblanadi. Biroq, JavaScript-da mashinani o'rganish asoslari va qiyinchiliklarini tushunish muhimdir. Oddiy modellar nisbatan osonlik bilan amalga oshirilishi mumkin bo'lsa-da, yanada rivojlangan modellar qiyinroq bo'lishi va ko'proq hisoblash resurslarini talab qilishi mumkin. To'g'ri vositalar va bilimlar bilan JavaScript-da ilg'or mashinani o'rganish modellarini amalga oshirish va AI kuchini Internetga olib kirish mumkin.

JavaScript-da mashinani o'rganishning real dunyo ilovalari:

Mashinani o'rganish turli sohalarda ko'plab potentsial ilovalarga ega va JavaScript ushbu ilovalarni Internetda amalga oshirish uchun ideal platformani taqdim etadi. Ushbu bo'limda biz tasvir va nutqni aniqlash, tabiiy tilni qayta ishlash va tavsiya tizimlari kabi JavaScript-da mashinani o'rganishning real dunyo ilovalariga oid ba'zi misollarni ko'rib chiqamiz.

Tasvirni aniqlash:

Mashinani o'rganishning eng mashhur ilovalaridan biri bu tasvirni aniqlashdir. TensorFlow.js va OpenCV.js kabi kutubxonalar yordamida biz real vaqt rejimida tasvirlarni taniy oladigan va tasniflay oladigan modellarni o‘rgatishimiz va o‘rnatishimiz mumkin. Masalan, veb-ilova fotosuratlar va videolardagi ob'ektlarni aniqlash yoki ularning mazmuni bo'yicha tasvirlarni avtomatik ravishda saralash uchun tasvirni aniqlash modelidan foydalanishi mumkin.

Nutqni aniqlash:

Mashinani o'rganishning yana bir mashhur qo'llanilishi bu nutqni aniqlashdir. WebSpeech API va SpeechRecognition.js kabi kutubxonalar yordamida biz real vaqtda nutqni transkripsiya qila oladigan modellarni o‘rgatishimiz va o‘rnatishimiz mumkin. Masalan, veb-ilova audio yozuvlarni transkripsiya qilish yoki ilovani boshqarish uchun ovozli buyruqlar berish uchun nutqni aniqlash modelidan foydalanishi mumkin.

Tabiiy tilni qayta ishlash (NLP):

Tabiiy tilni qayta ishlash (NLP) - bu kompyuterlarga inson tilini tushunish va qayta ishlash imkonini beruvchi AI sohasi. Natural.js va NLTK.js kabi kutubxonalar yordamida biz matn maʼlumotlarini tahlil qiladigan va tushuna oladigan modellarni oʻrgatishimiz va oʻrnatishimiz mumkin. Masalan, veb-ilova mijozlarning fikr-mulohazalarini tahlil qilish yoki savollarga tabiiy javoblarni yaratish uchun NLP modelidan foydalanishi mumkin.

Tavsiya tizimlari:

Tavsiya tizimlari foydalanuvchilarning o'tmishdagi xatti-harakatlari asosida nimaga qiziqishi mumkinligini taxmin qilish uchun ishlatiladi. TensorFlow.js va ML.js kabi kutubxonalar yordamida biz foydalanuvchilarga moslashtirilgan tavsiyalar berishi mumkin bo‘lgan modellarni o‘rgatishimiz va o‘rnatishimiz mumkin. Masalan, veb-ilova foydalanuvchilarga mahsulot yoki kontentni ko'rib chiqish tarixi asosida taklif qilish uchun tavsiyalar tizimidan foydalanishi mumkin.

Xulosa qilib aytganda, JavaScript-da mashinani o'rganish ko'plab potentsial ilovalar va afzalliklarga ega. Kuchli kutubxonalar va vositalar yordamida biz ma'lumotlarni tahlil qilish va tushunish, bashorat qilish va qarorlar qabul qilish, hatto foydalanuvchilar bilan tabiiy usullarda muloqot qilish mumkin bo'lgan modellarni Internetda o'rgatishimiz va joylashtirishimiz mumkin. JavaScript-da mashinani o'rganish, shuningdek, veb-ilovalar bilan ishlashning yangi usullarini faollashtirishi va foydalanuvchilar uchun aqlli va moslashtirilgan tajribalarni yaratish uchun yangi imkoniyatlarni ochishi mumkin.

Xulosa:

Ushbu maqolada biz JavaScript-da mashinani o'rganishni amalga oshirish mavzusini muhokama qildik. Biz ishlab chiqish muhitini o‘rnatish va mashinani o‘rganish asoslarini tushunishdan tortib oddiy va ilg‘or modellarni amalga oshirishgacha bo‘lgan bir qator mavzularni ko‘rib chiqdik.

Shuningdek, biz JavaScript-da mashinani o‘rganishni amalga oshirish bo‘yicha muammolar va mulohazalarni muhokama qildik va tasvir va nutqni aniqlash, tabiiy tilni qayta ishlash va tavsiyalar tizimlari kabi JavaScript-da mashina o‘rganishning real dunyo ilovalariga misollar keltirdik.

Xulosa qilib aytganda, JavaScript-da mashinani o'rganish AI kuchini veb-ilovalarga etkazish uchun kuchli vositadir. Bu bizga ma'lumotlarni tahlil qilish va tushunish, bashorat qilish va foydalanuvchilar bilan tabiiy usullarda o'zaro aloqada bo'lishi mumkin bo'lgan modellarni Internetda o'rgatish va joylashtirish imkonini beradi. Kuchli kutubxonalar va vositalar yordamida JavaScript-da mashinani o'rganishning ilg'or modellarini joriy qilish va foydalanuvchilar uchun aqlli va shaxsiy tajribalarni yaratish mumkin.

Kelajakka qarab, biz JavaScript-da mashinani o'rganish sohasida davom etayotgan yutuqlarni ko'rishimiz mumkin. Texnologiyaning rivojlanishi bilan biz yanada kuchli va samarali kutubxonalar va vositalarni, shuningdek, hali tasavvur qilinmagan JavaScript-da mashinani o'rganishning yangi ilovalarini ko'rishni kutishimiz mumkin.

JavaScript-da mashinani o'rganish haqida ko'proq bilmoqchi bo'lganlar uchun Internetda ko'plab resurslar mavjud. Ba'zi mashhur manbalarga TensorFlow.js, ML.js, Natural.js va WebSpeech API, shuningdek, ushbu kutubxonalar tomonidan taqdim etilgan turli o'quv qo'llanmalar va hujjatlar kiradi. Bundan tashqari, JavaScript-da mashinani o'rganishni o'z ichiga olgan ko'plab onlayn kurslar va o'quv qo'llanmalari va ishlab chiquvchilar o'z tajribalari bilan o'rtoqlasha oladigan va yordam so'rashi mumkin bo'lgan ko'plab bloglar va forumlar mavjud.