[{"data":1,"prerenderedAt":244},["ShallowReactive",2],{"home-courses":3},[4],{"title":5,"path":6,"stem":7,"children":8,"page":91},"Learn","\u002Flearn","learn",[9],{"title":10,"description":11,"icon":12,"path":13,"stem":14,"children":15,"page":91},"JavaScript","Go from zero to hero in the language of the web. Variables, control flow, loops, arrays, objects and more, explained with everyday examples and code you can run in the browser.","i-simple-icons-javascript","\u002Flearn\u002Fjavascript","learn\u002Fjavascript",[16,34,61,92,113,150,178,201,211,233],{"title":17,"path":18,"stem":19,"children":20,"description":32,"order":24,"icon":33},"Welcome","\u002Flearn\u002Fjavascript\u002Fwelcome","learn\u002Fjavascript\u002F0.Welcome\u002F1.index",[21,26],{"title":22,"path":18,"stem":19,"description":23,"order":24,"icon":25},"Course Roadmap","Your path from zero to building real apps with JavaScript.",0,"i-lucide-map",{"title":27,"path":28,"stem":29,"description":30,"icon":31},"Community","\u002Flearn\u002Fjavascript\u002Fwelcome\u002Fcommunity","learn\u002Fjavascript\u002F0.Welcome\u002F2.community","Learn JavaScript together with other AiroByte learners. Follow our WhatsApp channel and help us make every lesson better.","i-lucide-users",null,"i-lucide-hand",{"title":35,"path":36,"stem":37,"children":38,"description":32,"order":42,"icon":60},"Introduction to JavaScript","\u002Flearn\u002Fjavascript\u002Fintroduction","learn\u002Fjavascript\u002F1.Introduction\u002F1.index",[39,44,50,55],{"title":40,"path":36,"stem":37,"description":41,"order":42,"icon":43},"Introduction","Meet the language that brings the web to life. Learn what JavaScript is, why it matters, and write your very first lines of code.",1,"i-lucide-file-text",{"title":45,"path":46,"stem":47,"description":48,"order":49,"icon":43},"History","\u002Flearn\u002Fjavascript\u002Fintroduction\u002Fhistory","learn\u002Fjavascript\u002F1.Introduction\u002F2.history","Get started with history of JavaScript.",2,{"title":51,"path":52,"stem":53,"description":32,"order":54,"icon":43},"Features","\u002Flearn\u002Fjavascript\u002Fintroduction\u002Ffeatures","learn\u002Fjavascript\u002F1.Introduction\u002F3.features",3,{"title":56,"path":57,"stem":58,"description":32,"order":59,"icon":43},"How JavaScript Works","\u002Flearn\u002Fjavascript\u002Fintroduction\u002Fhow-it-works","learn\u002Fjavascript\u002F1.Introduction\u002F4.how-it-works",4,"i-lucide-book-open",{"title":62,"description":32,"icon":63,"path":64,"stem":65,"children":66,"page":91},"Basic Syntax","i-lucide-code-xml","\u002Flearn\u002Fjavascript\u002Fbasic-syntax","learn\u002Fjavascript\u002F2.basic-syntax",[67,71,75,79,83,87],{"title":68,"path":69,"stem":70,"description":32,"order":42,"icon":43},"Variables","\u002Flearn\u002Fjavascript\u002Fbasic-syntax\u002Fvariables","learn\u002Fjavascript\u002F2.basic-syntax\u002F1.variables",{"title":72,"path":73,"stem":74,"description":32,"order":42,"icon":43},"Data Types","\u002Flearn\u002Fjavascript\u002Fbasic-syntax\u002Fdata-types","learn\u002Fjavascript\u002F2.basic-syntax\u002F2.data-types",{"title":76,"path":77,"stem":78,"description":32,"order":42,"icon":43},"Type Casting and Type Coercion","\u002Flearn\u002Fjavascript\u002Fbasic-syntax\u002Ftype-casting","learn\u002Fjavascript\u002F2.basic-syntax\u002F3.type-casting",{"title":80,"path":81,"stem":82,"description":32,"order":42,"icon":43},"Operators","\u002Flearn\u002Fjavascript\u002Fbasic-syntax\u002Foperators","learn\u002Fjavascript\u002F2.basic-syntax\u002F4.operators",{"title":84,"path":85,"stem":86,"description":32,"order":42,"icon":43},"Comments","\u002Flearn\u002Fjavascript\u002Fbasic-syntax\u002Fcomments","learn\u002Fjavascript\u002F2.basic-syntax\u002F5.comments",{"title":88,"path":89,"stem":90,"description":32,"order":42,"icon":43},"Naming Conventions","\u002Flearn\u002Fjavascript\u002Fbasic-syntax\u002Fnaming-conventions","learn\u002Fjavascript\u002F2.basic-syntax\u002F6.naming-conventions",false,{"title":93,"description":32,"icon":94,"path":95,"stem":96,"children":97,"page":91},"Control Flow","i-lucide-split","\u002Flearn\u002Fjavascript\u002Fcontrol-flow","learn\u002Fjavascript\u002F3.control-flow",[98,101,105,109],{"title":40,"path":99,"stem":100,"description":32,"order":42,"icon":43},"\u002Flearn\u002Fjavascript\u002Fcontrol-flow\u002Fcontrol-flow","learn\u002Fjavascript\u002F3.control-flow\u002F1.control-flow",{"title":102,"path":103,"stem":104,"description":32,"order":42,"icon":43},"If-Else Statements","\u002Flearn\u002Fjavascript\u002Fcontrol-flow\u002Fif-else-statement","learn\u002Fjavascript\u002F3.control-flow\u002F2.if-else-statement",{"title":106,"path":107,"stem":108,"description":32,"order":42,"icon":43},"Switch Statement","\u002Flearn\u002Fjavascript\u002Fcontrol-flow\u002Fswitch-statement","learn\u002Fjavascript\u002F3.control-flow\u002F3.switch-statement",{"title":110,"path":111,"stem":112,"description":32,"order":42,"icon":43},"Ternary Operator","\u002Flearn\u002Fjavascript\u002Fcontrol-flow\u002Fternary-operator","learn\u002Fjavascript\u002F3.control-flow\u002F4.ternary-operator",{"title":114,"description":32,"icon":115,"path":116,"stem":117,"children":118,"page":91},"Loops","i-lucide-iteration-ccw","\u002Flearn\u002Fjavascript\u002Floops","learn\u002Fjavascript\u002F4.loops",[119,122,126,130,134,138,142,146],{"title":40,"path":120,"stem":121,"description":32,"order":42,"icon":43},"\u002Flearn\u002Fjavascript\u002Floops\u002Floops","learn\u002Fjavascript\u002F4.loops\u002F1.loops",{"title":123,"path":124,"stem":125,"description":32,"order":42,"icon":43},"For Loop","\u002Flearn\u002Fjavascript\u002Floops\u002Ffor-loop","learn\u002Fjavascript\u002F4.loops\u002F3.for-loop",{"title":127,"path":128,"stem":129,"description":32,"order":42,"icon":43},"While Loop","\u002Flearn\u002Fjavascript\u002Floops\u002Fwhile-loop","learn\u002Fjavascript\u002F4.loops\u002F4.while-loop",{"title":131,"path":132,"stem":133,"description":32,"order":42,"icon":43},"Do-While Loop","\u002Flearn\u002Fjavascript\u002Floops\u002Fdo-while-loop","learn\u002Fjavascript\u002F4.loops\u002F5.do-while-loop",{"title":135,"path":136,"stem":137,"description":32,"order":42,"icon":43},"Break & Continue","\u002Flearn\u002Fjavascript\u002Floops\u002Fbreak-continue","learn\u002Fjavascript\u002F4.loops\u002F6.break-continue",{"title":139,"path":140,"stem":141,"description":32,"order":42,"icon":43},"forEach Loop","\u002Flearn\u002Fjavascript\u002Floops\u002Fforeach-loop","learn\u002Fjavascript\u002F4.loops\u002F7.foreach-loop",{"title":143,"path":144,"stem":145,"description":32,"order":42,"icon":43},"for...of Loop","\u002Flearn\u002Fjavascript\u002Floops\u002Ffor-of-loop","learn\u002Fjavascript\u002F4.loops\u002F8.for-of-loop",{"title":147,"path":148,"stem":149,"description":32,"order":42,"icon":43},"for...in Loop","\u002Flearn\u002Fjavascript\u002Floops\u002Ffor-in-loop","learn\u002Fjavascript\u002F4.loops\u002F9.for-in-loop",{"title":151,"path":152,"stem":153,"children":154,"description":32,"order":24,"icon":177},"Arrays","\u002Flearn\u002Fjavascript\u002Farrays","learn\u002Fjavascript\u002F5.arrays\u002F1.index",[155,157,162,167,172],{"title":156,"path":152,"stem":153,"description":32,"order":24,"icon":43},"Array",{"title":158,"path":159,"stem":160,"description":161,"order":24,"icon":43},"Array Methods","\u002Flearn\u002Fjavascript\u002Farrays\u002Farray-methods","learn\u002Fjavascript\u002F5.arrays\u002F2.array-methods","Learn the most useful JavaScript array methods, including push, pop, slice, splice, map, filter, reduce, find, some, and every, and which ones change the original array.",{"title":163,"path":164,"stem":165,"description":166,"order":24,"icon":43},"Sorting & Custom Comparators","\u002Flearn\u002Fjavascript\u002Farrays\u002Fsorting-and-comparators","learn\u002Fjavascript\u002F5.arrays\u002F3.sorting-and-comparators","Learn how to sort arrays in JavaScript correctly, including numbers, strings, and objects, using custom comparator functions.",{"title":168,"path":169,"stem":170,"description":171,"order":24,"icon":43},"Flattening Arrays","\u002Flearn\u002Fjavascript\u002Farrays\u002Fflattening-arrays","learn\u002Fjavascript\u002F5.arrays\u002F4.flattening-arrays","Learn how to turn nested arrays into a single flat array in JavaScript using flat(), flatMap(), and a few other techniques.",{"title":173,"path":174,"stem":175,"description":176,"order":24,"icon":43},"Coding Problems","\u002Flearn\u002Fjavascript\u002Farrays\u002Fcoding-problems-array","learn\u002Fjavascript\u002F5.arrays\u002F5.coding-problems-array","Practice the most common JavaScript array problems, from easy to interview-level, with simple explanations and step-by-step solutions.","i-lucide-brackets",{"title":179,"path":180,"stem":181,"children":182,"description":32,"order":24,"icon":200},"Objects","\u002Flearn\u002Fjavascript\u002Fobjects","learn\u002Fjavascript\u002F6.objects\u002F1.index",[183,184,188,192,197],{"title":179,"path":180,"stem":181,"description":32,"order":24,"icon":43},{"title":185,"path":186,"stem":187,"description":32,"order":24,"icon":43},"Properties & Methods","\u002Flearn\u002Fjavascript\u002Fobjects\u002Fproperties-methods","learn\u002Fjavascript\u002F6.objects\u002F2.properties-methods",{"title":189,"path":190,"stem":191,"description":32,"order":24,"icon":43},"Advanced Objects","\u002Flearn\u002Fjavascript\u002Fobjects\u002Fadvanced-objects","learn\u002Fjavascript\u002F6.objects\u002F3.advanced-objects",{"title":193,"path":194,"stem":195,"description":196,"order":24,"icon":43},"Symbols","\u002Flearn\u002Fjavascript\u002Fobjects\u002Fsymbols","learn\u002Fjavascript\u002F6.objects\u002F4.symbols","Learn what Symbols are in JavaScript, why they are always unique, how to use them as object keys, and how built-in symbols like Symbol.iterator work.",{"title":173,"path":198,"stem":199,"description":32,"order":24,"icon":43},"\u002Flearn\u002Fjavascript\u002Fobjects\u002Fcoding-problems-objects","learn\u002Fjavascript\u002F6.objects\u002F5.coding-problems-objects","i-lucide-braces",{"title":202,"path":203,"stem":204,"children":205,"description":32,"order":24,"icon":210},"Strings","\u002Flearn\u002Fjavascript\u002Fstrings","learn\u002Fjavascript\u002F7.strings\u002F1.index",[206,207],{"title":40,"path":203,"stem":204,"description":32,"order":24,"icon":43},{"title":173,"path":208,"stem":209,"description":32,"order":24,"icon":43},"\u002Flearn\u002Fjavascript\u002Fstrings\u002Fcoding-problems-string","learn\u002Fjavascript\u002F7.strings\u002Fcoding-problems-string","i-lucide-file-braces-corner",{"title":212,"path":213,"stem":214,"children":215,"description":32,"order":24,"icon":232},"Modern Javscript","\u002Flearn\u002Fjavascript\u002Fmodern-javascript","learn\u002Fjavascript\u002F8.modern-javaScript\u002F1.index",[216,217,222,227],{"title":40,"path":213,"stem":214,"description":32,"order":24,"icon":43},{"title":218,"path":219,"stem":220,"description":221,"order":24,"icon":43},"ES Modules","\u002Flearn\u002Fjavascript\u002Fmodern-javascript\u002Fes-modules","learn\u002Fjavascript\u002F8.modern-javaScript\u002F2.es-modules","Learn what ES modules are, why JavaScript needed them, how module systems evolved, and how to use import and export in modern JavaScript.Symbols",{"title":223,"path":224,"stem":225,"description":226,"order":49,"icon":43},"Closures","\u002Flearn\u002Fjavascript\u002Fmodern-javascript\u002Fclosure","learn\u002Fjavascript\u002F8.modern-javaScript\u002F3.closure","Learn how JavaScript closures remember surrounding variables and how to use them for private state and reusable functions.",{"title":228,"path":229,"stem":230,"description":231,"order":54,"icon":43},"Classes and private fields","\u002Flearn\u002Fjavascript\u002Fmodern-javascript\u002Fclasses-and-private-fields","learn\u002Fjavascript\u002F8.modern-javaScript\u002F4.classes-and-private-fields","Learn how JavaScript classes create objects and how private fields protect internal state.","i-lucide-focus",{"title":234,"path":235,"stem":236,"children":237,"page":91},"Javascript Runtime Internals","\u002Flearn\u002Fjavascript\u002Fjavascript-runtime-internals","learn\u002Fjavascript\u002F9.javaScript-runtime-internals",[238],{"title":239,"path":240,"stem":241,"description":242,"order":24,"icon":243},"Objects and prototypes","\u002Flearn\u002Fjavascript\u002Fjavascript-runtime-internals\u002Fobjects-and-prototypes","learn\u002Fjavascript\u002F9.javaScript-runtime-internals\u002F1.objects-and-prototypes","Understand JavaScript objects, prototype chains, constructor functions, and how objects share behaviour.","i-lucide-network",1792067965353]