-
Notifications
You must be signed in to change notification settings - Fork 0
/
63724a86.9587896c.js
1 lines (1 loc) · 21.6 KB
/
63724a86.9587896c.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{124:function(e,t,l){"use strict";l.r(t),l.d(t,"frontMatter",(function(){return r})),l.d(t,"metadata",(function(){return o})),l.d(t,"rightToc",(function(){return b})),l.d(t,"Highlight",(function(){return c})),l.d(t,"default",(function(){return d}));var a=l(2),i=l(7),n=(l(0),l(174)),r={id:"js_index",title:"\ud83d\udee1 Javascript Battalion \ud83d\udee1",sidebar_label:"Index",description:"Javascript Interview preparation material"},o={id:"javascript/js_index",isDocsHomePage:!1,title:"\ud83d\udee1 Javascript Battalion \ud83d\udee1",description:"Javascript Interview preparation material",source:"@site/docs/javascript/js_index.md",permalink:"/docs/javascript/js_index",lastUpdatedBy:"Abhin Pai",lastUpdatedAt:1595871242,sidebar_label:"Index",sidebar:"docs",previous:{title:" ",permalink:"/docs/"},next:{title:"Basic is the foundation of all programming language \ud83d\ude07",permalink:"/docs/javascript/modules/module1_basic"}},b=[{value:'<Highlight color="#0090d9">Module 1</Highlight> Basics the foundation \ud83c\udfd7\ufe0f',id:"module-1--basics-the-foundation-\ufe0f",children:[]},{value:'<Highlight color="#0090d9">Module 2</Highlight> Object',id:"module-2-object",children:[]},{value:'<Highlight color="#0090d9">Module 3</Highlight> Datatypes',id:"module-3-datatypes",children:[]},{value:'<Highlight color="#0090d9">Module 4</Highlight> Function',id:"module-4-function",children:[]},{value:'<Highlight color="#0090d9">Module 5</Highlight> Prototypes, inheritance',id:"module-5-prototypes-inheritance",children:[]},{value:'<Highlight color="#0090d9">Module 6</Highlight> Classes',id:"module-6-classes",children:[]},{value:'<Highlight color="#0090d9">Module 7</Highlight> Destructuring',id:"module-7-destructuring",children:[]},{value:'<Highlight color="#0090d9">Module 8</Highlight> Error Handling',id:"module-8-error-handling",children:[]},{value:'<Highlight color="#0090d9">Module 9</Highlight> Promises',id:"module-9-promises",children:[]},{value:'<Highlight color="#0090d9">Module 10</Highlight> Generators and Iterators',id:"module-10-generators-and-iterators",children:[]},{value:'<Highlight color="#0090d9">Module 11</Highlight> Modules',id:"module-11-modules",children:[]},{value:'<Highlight color="#0090d9">Module 12</Highlight> Proxy',id:"module-12-proxy",children:[]},{value:'<Highlight color="#0090d9">Module 13</Highlight> Sets and WeakSets',id:"module-13-sets-and-weaksets",children:[]},{value:'<Highlight color="#0090d9">Module 14</Highlight> Map and Weak Map',id:"module-14-map-and-weak-map",children:[]},{value:'<Highlight color="#0090d9">Module 15</Highlight> Async + Await Flow Control',id:"module-15-async--await-flow-control",children:[]},{value:'<Highlight color="#0090d9">Module 16</Highlight> Document Model',id:"module-16-document-model",children:[]},{value:'<Highlight color="#0090d9">Module 17</Highlight> Playing with Events',id:"module-17-playing-with-events",children:[]},{value:'<Highlight color="#0090d9">Module 18</Highlight> UI Events',id:"module-18-ui-events",children:[]},{value:'<Highlight color="#0090d9">Module 19</Highlight> Forms, controls',id:"module-19-forms-controls",children:[]},{value:'<Highlight color="#0090d9">Module 20</Highlight> Web components',id:"module-20-web-components",children:[]},{value:'<Highlight color="#0090d9">Module 21</Highlight> Code Quality \ud83d\udc4c',id:"module-21-code-quality-",children:[]},{value:'<Highlight color="#0090d9">Module 22</Highlight> Miscellaneous',id:"module-22-miscellaneous",children:[]}],c=function(e){var t=e.children,l=e.color;return Object(n.b)("span",{style:{backgroundColor:l,borderRadius:"10px",color:"#fff",padding:"0.4rem",fontSize:"16px",verticalAlign:"2px"}},t)},u={rightToc:b,Highlight:c};function d(e){var t=e.components,l=Object(i.a)(e,["components"]);return Object(n.b)("wrapper",Object(a.a)({},u,l,{components:t,mdxType:"MDXLayout"}),Object(n.b)("h3",{id:"module-1--basics-the-foundation-\ufe0f"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 1")," Basics the foundation \ud83c\udfd7\ufe0f"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 ",Object(n.b)("inlineCode",{parentName:"li"},"var"),", ",Object(n.b)("inlineCode",{parentName:"li"},"let")," and ",Object(n.b)("inlineCode",{parentName:"li"},"const")," ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module1_basic#%EF%B8%8F-a-story-of-var-let-and-const"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 ",Object(n.b)("inlineCode",{parentName:"li"},"TDZ")," Temporal Dead Zone ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module1_basic#how-about-the-const"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 Is ",Object(n.b)("inlineCode",{parentName:"li"},"var")," Dead? What should I use? ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module1_basic#%EF%B8%8F-a-story-of-var-let-and-const"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 use strict ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module1_basic#hey-im-very-strict-%E2%99%82%EF%B8%8F"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 ",Object(n.b)("inlineCode",{parentName:"li"},"==")," vs ",Object(n.b)("inlineCode",{parentName:"li"},"===")," operator ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module1_basic#untold-story-of-operator-%F0%9F%A7%91"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 ",Object(n.b)("inlineCode",{parentName:"li"},"!!")," double negation operator ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module1_basic#untold-story-of-operator-%F0%9F%A7%91"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 List of Falsy values"),Object(n.b)("li",{parentName:"ul"},"\u274c Multi threading and Javascript")),Object(n.b)("h3",{id:"module-2-object"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 2")," Object"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 ",Object(n.b)("inlineCode",{parentName:"li"},"this")," keyword"),Object(n.b)("li",{parentName:"ul"},"\u2705 Details about object"),Object(n.b)("li",{parentName:"ul"},"\u2705 Optional chaining ",Object(n.b)("inlineCode",{parentName:"li"},"?.")),Object(n.b)("li",{parentName:"ul"},"\u2705 Object to primitive conversion"),Object(n.b)("li",{parentName:"ul"},"\u2705 Object descriptors"),Object(n.b)("li",{parentName:"ul"},"\u2705 Object Property getters and setters"),Object(n.b)("li",{parentName:"ul"},"\u2705 protecting Objects"),Object(n.b)("li",{parentName:"ul"},"\u2705 Objects Methods"),Object(n.b)("li",{parentName:"ul"},"\u2705 Nullish coalescing operator ",Object(n.b)("inlineCode",{parentName:"li"},"??")),Object(n.b)("li",{parentName:"ul"},"\u2705 typeof and instanceof"),Object(n.b)("li",{parentName:"ul"},"\u2705 Host object and Native object")),Object(n.b)("h3",{id:"module-3-datatypes"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 3")," Datatypes"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Brief insight about data types ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module4_datatypes"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 Template Literals / String Interpolation ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module4_datatypes#template-literals---expression-interpolation"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 Array and its methods ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module4_datatypes#1-array"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 String and its methods ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module4_datatypes#6-string"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 ",Object(n.b)("inlineCode",{parentName:"li"},"Undefined")," and ",Object(n.b)("inlineCode",{parentName:"li"},"Null")," ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"modules/module4_datatypes#4-null"}),"\ud83d\udd17")),Object(n.b)("li",{parentName:"ul"},"\u2705 Symbols"),Object(n.b)("li",{parentName:"ul"},"\u274c Date \ud83d\udcc5"),Object(n.b)("li",{parentName:"ul"},"\u274c JSONP and JSON methods")),Object(n.b)("h3",{id:"module-4-function"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 4")," Function"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Regular Function"),Object(n.b)("li",{parentName:"ul"},"\u2705 Function Parameters"),Object(n.b)("li",{parentName:"ul"},"\u2705 Arrow functions"),Object(n.b)("li",{parentName:"ul"},"\u2705 Immediate execution function ",Object(n.b)("inlineCode",{parentName:"li"},"IIEF")),Object(n.b)("li",{parentName:"ul"},"\u2705 Decorators and forwarding"),Object(n.b)("li",{parentName:"ul"},"\u2705 Function binding and borrowing (bind, call and apply)"),Object(n.b)("li",{parentName:"ul"},"\u2705 Anonymous and Named Functions"),Object(n.b)("li",{parentName:"ul"},"\u2705 Pure Functions"),Object(n.b)("li",{parentName:"ul"},"\u2705 Function Chaining"),Object(n.b)("li",{parentName:"ul"},"\u2705 Scheduling: ",Object(n.b)("inlineCode",{parentName:"li"},"setTimeout")," and ",Object(n.b)("inlineCode",{parentName:"li"},"setInterval")),Object(n.b)("li",{parentName:"ul"},"\u274c High Order Function "),Object(n.b)("li",{parentName:"ul"},"\u2705 Function Composition"),Object(n.b)("li",{parentName:"ul"},"\u2705 Function Currying")),Object(n.b)("h3",{id:"module-5-prototypes-inheritance"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 5")," Prototypes, inheritance"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Prototypal inheritance"),Object(n.b)("li",{parentName:"ul"},"\u2705 Prototype in constructor function"),Object(n.b)("li",{parentName:"ul"},"\u2705 Prototype in class"),Object(n.b)("li",{parentName:"ul"},"\u2705 Prototype methods, objects without ",Object(n.b)("inlineCode",{parentName:"li"},"__proto__")," ")),Object(n.b)("h3",{id:"module-6-classes"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 6")," Classes"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Class basic syntax"),Object(n.b)("li",{parentName:"ul"},"\u2705 Class Fields"),Object(n.b)("li",{parentName:"ul"},"\u2705 Private and protected properties and methods"),Object(n.b)("li",{parentName:"ul"},"\u2705 Static properties and methods"),Object(n.b)("li",{parentName:"ul"},"\u2705 Class inheritance, Extending Classes and using super()"),Object(n.b)("li",{parentName:"ul"},"\u274c Extending built-in classes"),Object(n.b)("li",{parentName:"ul"},"\u274c ",Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"https://www.barbarianmeetscoding.com/blog/2015/12/28/black-tower-summoning-object-composition-with-mixins"}),"Mixins"))),Object(n.b)("h3",{id:"module-7-destructuring"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 7")," Destructuring"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Destruction Assignment"),Object(n.b)("li",{parentName:"ul"},"\u2705 Destructuring Objects"),Object(n.b)("li",{parentName:"ul"},"\u2705 Destructuring Array"),Object(n.b)("li",{parentName:"ul"},"\u2705 Destructuring Functions Arguments"),Object(n.b)("li",{parentName:"ul"},"\u2705 Spread Operator"),Object(n.b)("li",{parentName:"ul"},"\u2705 Rest Operator")),Object(n.b)("h3",{id:"module-8-error-handling"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 8")," Error Handling"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u274c Error handling, ",Object(n.b)("inlineCode",{parentName:"li"},"try..catch")),Object(n.b)("li",{parentName:"ul"},"\u274c Custom errors, extending Error")),Object(n.b)("h3",{id:"module-9-promises"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 9")," Promises"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 callbacks"),Object(n.b)("li",{parentName:"ul"},"\u2705 Promise"),Object(n.b)("li",{parentName:"ul"},"\u2705 Promises chaining"),Object(n.b)("li",{parentName:"ul"},"\u2705 Promise API")),Object(n.b)("h3",{id:"module-10-generators-and-iterators"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 10")," Generators and Iterators"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Generators"),Object(n.b)("li",{parentName:"ul"},"\u2705 Generator functions"),Object(n.b)("li",{parentName:"ul"},"\u2705 ",Object(n.b)("inlineCode",{parentName:"li"},"Yield")," keyword"),Object(n.b)("li",{parentName:"ul"},"\u2705 Generator Composition "),Object(n.b)("li",{parentName:"ul"},"\u2705 Iterating Over a Generator"),Object(n.b)("li",{parentName:"ul"},"\u2705 Generator using iterator "),Object(n.b)("li",{parentName:"ul"},"\u2705Closing Generators"),Object(n.b)("li",{parentName:"ul"},"\u274c async/await with Generators")),Object(n.b)("h3",{id:"module-11-modules"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 11")," Modules"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Modules, introduction"),Object(n.b)("li",{parentName:"ul"},"\u2705 Core module features"),Object(n.b)("li",{parentName:"ul"},"\u2705 Export and Import (as, *, default)"),Object(n.b)("li",{parentName:"ul"},"\u2705 Build tools and its anatomy"),Object(n.b)("li",{parentName:"ul"},"\u2705 Dynamic Imports")),Object(n.b)("h3",{id:"module-12-proxy"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 12")," Proxy"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u274c What are Proxies?"),Object(n.b)("li",{parentName:"ul"},"\u274c Another Proxy Example"),Object(n.b)("li",{parentName:"ul"},"\u274c Using Proxies to combat silly errors"),Object(n.b)("li",{parentName:"ul"},"\u274c Proxy and Reflect"),Object(n.b)("li",{parentName:"ul"},Object(n.b)("a",Object(a.a)({parentName:"li"},{href:"https://ponyfoo.com/articles/es6-proxies-in-depth"}),"https://ponyfoo.com/articles/es6-proxies-in-depth"))),Object(n.b)("h3",{id:"module-13-sets-and-weaksets"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 13")," Sets and WeakSets"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Set"),Object(n.b)("li",{parentName:"ul"},"\u2705 Methods of Set "),Object(n.b)("li",{parentName:"ul"},"\u2705 Features of Set"),Object(n.b)("li",{parentName:"ul"},"\u2705 WeakSet")),Object(n.b)("h3",{id:"module-14-map-and-weak-map"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 14")," Map and Weak Map"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Map"),Object(n.b)("li",{parentName:"ul"},"\u2705 Methods of Map"),Object(n.b)("li",{parentName:"ul"},"\u2705 Features of Map"),Object(n.b)("li",{parentName:"ul"},"\u2705 WeakMap"),Object(n.b)("li",{parentName:"ul"},"\u2705 Applications of WeakMap")),Object(n.b)("h3",{id:"module-15-async--await-flow-control"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 15")," Async + Await Flow Control"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Async-Await"),Object(n.b)("li",{parentName:"ul"},"\u2705 Async-Await with other syntax"),Object(n.b)("li",{parentName:"ul"},"\u2705 Error Handling with async and await")),Object(n.b)("h3",{id:"module-16-document-model"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 16")," Document Model"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u274c Browser environment, specs"),Object(n.b)("li",{parentName:"ul"},"\u274c DOM tree"),Object(n.b)("li",{parentName:"ul"},"\u274c Walking the DOM"),Object(n.b)("li",{parentName:"ul"},"\u274c Searching: ",Object(n.b)("inlineCode",{parentName:"li"},"getElement*"),", ",Object(n.b)("inlineCode",{parentName:"li"},"querySelector*")),Object(n.b)("li",{parentName:"ul"},"\u274c Node properties: type, tag and contents"),Object(n.b)("li",{parentName:"ul"},"\u274c Attributes and properties")),Object(n.b)("h3",{id:"module-17-playing-with-events"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 17")," Playing with Events"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Introduction to browser events"),Object(n.b)("li",{parentName:"ul"},"\u2705 Bubbling and capturing"),Object(n.b)("li",{parentName:"ul"},"\u2705 Event delegation"),Object(n.b)("li",{parentName:"ul"},"\u2705 Event Looping"),Object(n.b)("li",{parentName:"ul"},"\u2705 Event Propagation"),Object(n.b)("li",{parentName:"ul"},"\u2705 event.preventDefault()"),Object(n.b)("li",{parentName:"ul"},"\u2705 event.stopPropagation()"),Object(n.b)("li",{parentName:"ul"},"\u2705 event.target and event.currenttarget")),Object(n.b)("h3",{id:"module-18-ui-events"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 18")," UI Events"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u274c Mouse events"),Object(n.b)("li",{parentName:"ul"},"\u274c Moving the mouse: mouseover/out, mouseenter/leave"),Object(n.b)("li",{parentName:"ul"},"\u274c Drag'n'Drop with mouse events")),Object(n.b)("h3",{id:"module-19-forms-controls"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 19")," Forms, controls"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u274c Form properties and methods"),Object(n.b)("li",{parentName:"ul"},"\u274c Focusing: focus/blur"),Object(n.b)("li",{parentName:"ul"},"\u274c Events: change, input, cut, copy, paste"),Object(n.b)("li",{parentName:"ul"},"\u274c Forms: event and method submit")),Object(n.b)("h3",{id:"module-20-web-components"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 20")," Web components"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u274c From the orbital height"),Object(n.b)("li",{parentName:"ul"},"\u274c Custom elements"),Object(n.b)("li",{parentName:"ul"},"\u274c Shadow DOM"),Object(n.b)("li",{parentName:"ul"},"\u274c Template element")),Object(n.b)("h3",{id:"module-21-code-quality-"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 21")," Code Quality \ud83d\udc4c"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Polyfill for ",Object(n.b)("inlineCode",{parentName:"li"},"bind()")),Object(n.b)("li",{parentName:"ul"},"\u2705 Code Quality with ",Object(n.b)("inlineCode",{parentName:"li"},"ESlint")),Object(n.b)("li",{parentName:"ul"},"\u274c What is the difference between ",Object(n.b)("inlineCode",{parentName:"li"},"Lodash")," and ",Object(n.b)("inlineCode",{parentName:"li"},"Underscore")),Object(n.b)("li",{parentName:"ul"},"\u274c Shim Vs Polyfill")),Object(n.b)("h3",{id:"module-22-miscellaneous"},Object(n.b)(c,{color:"#0090d9",mdxType:"Highlight"},"Module 22")," Miscellaneous"),Object(n.b)("hr",null),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"\u2705 Hoisting"),Object(n.b)("li",{parentName:"ul"},"\u274c Eval: run a code string"),Object(n.b)("li",{parentName:"ul"},"\u274c Mutation observer"),Object(n.b)("li",{parentName:"ul"},"\u274c Selection and Range"),Object(n.b)("li",{parentName:"ul"},"\u274c Execution Context"),Object(n.b)("li",{parentName:"ul"},"\u274c Memorization"),Object(n.b)("li",{parentName:"ul"},"\u274c How Garbage collection works"),Object(n.b)("li",{parentName:"ul"},"\u274c Atomics"),Object(n.b)("li",{parentName:"ul"},"\u274c Dataview"),Object(n.b)("li",{parentName:"ul"},"\u274c Typed Array"),Object(n.b)("li",{parentName:"ul"},"\u274c Underscore.js"),Object(n.b)("li",{parentName:"ul"},"\u274c Lexical Scope"),Object(n.b)("li",{parentName:"ul"},"\u274c Tress-Shaking")),Object(n.b)("br",null),Object(n.b)("br",null),Object(n.b)("br",null),Object(n.b)("br",null))}d.isMDXComponent=!0},174:function(e,t,l){"use strict";l.d(t,"a",(function(){return d})),l.d(t,"b",(function(){return s}));var a=l(0),i=l.n(a);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function r(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function o(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?r(Object(l),!0).forEach((function(t){n(e,t,l[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):r(Object(l)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))}))}return e}function b(e,t){if(null==e)return{};var l,a,i=function(e,t){if(null==e)return{};var l,a,i={},n=Object.keys(e);for(a=0;a<n.length;a++)l=n[a],t.indexOf(l)>=0||(i[l]=e[l]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)l=n[a],t.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(i[l]=e[l])}return i}var c=i.a.createContext({}),u=function(e){var t=i.a.useContext(c),l=t;return e&&(l="function"==typeof e?e(t):o(o({},t),e)),l},d=function(e){var t=u(e.components);return i.a.createElement(c.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return i.a.createElement(i.a.Fragment,{},t)}},p=i.a.forwardRef((function(e,t){var l=e.components,a=e.mdxType,n=e.originalType,r=e.parentName,c=b(e,["components","mdxType","originalType","parentName"]),d=u(l),p=a,s=d["".concat(r,".").concat(p)]||d[p]||m[p]||n;return l?i.a.createElement(s,o(o({ref:t},c),{},{components:l})):i.a.createElement(s,o({ref:t},c))}));function s(e,t){var l=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var n=l.length,r=new Array(n);r[0]=p;var o={};for(var b in t)hasOwnProperty.call(t,b)&&(o[b]=t[b]);o.originalType=e,o.mdxType="string"==typeof e?e:a,r[1]=o;for(var c=2;c<n;c++)r[c]=l[c];return i.a.createElement.apply(null,r)}return i.a.createElement.apply(null,l)}p.displayName="MDXCreateElement"}}]);