[{"data":1,"prerenderedAt":223},["ShallowReactive",2],{"term-t\u002Ftypescript":3,"related-t\u002Ftypescript":205},{"id":4,"title":5,"acronym":6,"body":7,"category":186,"description":187,"difficulty":188,"extension":189,"letter":190,"meta":191,"navigation":97,"path":192,"related":193,"seo":199,"sitemap":200,"stem":203,"subcategory":6,"__hash__":204},"terms\u002Fterms\u002Ft\u002Ftypescript.md","TypeScript",null,{"type":8,"value":9,"toc":180},"minimark",[10,15,19,23,26,30,169,173,176],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"TypeScript is JavaScript with a strict parent watching over it. You have to tell it exactly what type each thing is — a number, a string, an object — and it yells at you BEFORE you ship if you mix them up. Less bugs, more typing (the keyboard kind).",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"TypeScript is a statically-typed superset of JavaScript developed by Microsoft. It adds optional type annotations, interfaces, enums, and generics that are checked at compile time. TypeScript compiles down to plain JavaScript and catches entire classes of bugs before runtime.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","interface User {\n  name: string;\n  age: number;\n}\n\nfunction greet(user: User): string {\n  return `Hello, ${user.name}!`;\n}\n","typescript","",[38,39,40,57,73,86,92,99,127,164],"code",{"__ignoreMap":36},[41,42,45,49,53],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"spNyl","interface",[41,50,52],{"class":51},"sBMFI"," User",[41,54,56],{"class":55},"sMK4o"," {\n",[41,58,60,64,67,70],{"class":43,"line":59},2,[41,61,63],{"class":62},"swJcz","  name",[41,65,66],{"class":55},":",[41,68,69],{"class":51}," string",[41,71,72],{"class":55},";\n",[41,74,76,79,81,84],{"class":43,"line":75},3,[41,77,78],{"class":62},"  age",[41,80,66],{"class":55},[41,82,83],{"class":51}," number",[41,85,72],{"class":55},[41,87,89],{"class":43,"line":88},4,[41,90,91],{"class":55},"}\n",[41,93,95],{"class":43,"line":94},5,[41,96,98],{"emptyLinePlaceholder":97},true,"\n",[41,100,102,105,109,112,116,118,120,123,125],{"class":43,"line":101},6,[41,103,104],{"class":47},"function",[41,106,108],{"class":107},"s2Zo4"," greet",[41,110,111],{"class":55},"(",[41,113,115],{"class":114},"sHdIc","user",[41,117,66],{"class":55},[41,119,52],{"class":51},[41,121,122],{"class":55},"):",[41,124,69],{"class":51},[41,126,56],{"class":55},[41,128,130,134,137,141,144,147,150,153,156,159,162],{"class":43,"line":129},7,[41,131,133],{"class":132},"s7zQu","  return",[41,135,136],{"class":55}," `",[41,138,140],{"class":139},"sfazB","Hello, ",[41,142,143],{"class":55},"${",[41,145,115],{"class":146},"sTEyZ",[41,148,149],{"class":55},".",[41,151,152],{"class":146},"name",[41,154,155],{"class":55},"}",[41,157,158],{"class":139},"!",[41,160,161],{"class":55},"`",[41,163,72],{"class":55},[41,165,167],{"class":43,"line":166},8,[41,168,91],{"class":55},[11,170,172],{"id":171},"when-youll-hear-this","When You'll Hear This",[16,174,175],{},"\"Switch the project to TypeScript so we catch type errors at compile time.\" \u002F \"The TypeScript compiler is screaming at me about a null check.\"",[177,178,179],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":59,"depth":59,"links":181},[182,183,184,185],{"id":13,"depth":59,"text":14},{"id":21,"depth":59,"text":22},{"id":28,"depth":59,"text":29},{"id":171,"depth":59,"text":172},"frontend","TypeScript is JavaScript with a strict parent watching over it.","intermediate","md","t",{},"\u002Fterms\u002Ft\u002Ftypescript",[194,195,196,197,198],"JavaScript","Vue","React","Angular","Interface",{"title":5,"description":187},{"changefreq":201,"priority":202},"weekly",0.7,"terms\u002Ft\u002Ftypescript","SWBdLOoWKbppN_MojaljnKJGAiaygkoxPp60Iyqha7g",[206,209,213,217,220],{"title":197,"path":207,"acronym":6,"category":186,"difficulty":188,"description":208},"\u002Fterms\u002Fa\u002Fangular","Angular is Google's JavaScript framework — the strict, opinionated one that comes with everything pre-decided.",{"title":198,"path":210,"acronym":6,"category":211,"difficulty":188,"description":212},"\u002Fterms\u002Fi\u002Finterface","general","An interface is like a job description. It says 'whatever fills this role must be able to do X, Y, and Z' without caring how they do it.",{"title":194,"path":214,"acronym":6,"category":186,"difficulty":215,"description":216},"\u002Fterms\u002Fj\u002Fjavascript","beginner","JavaScript is what makes websites actually DO stuff. HTML is the bones, CSS is the skin, and JavaScript is the muscles and brain.",{"title":196,"path":218,"acronym":6,"category":186,"difficulty":215,"description":219},"\u002Fterms\u002Fr\u002Freact","React is a JavaScript library from Meta for building UIs out of components.",{"title":195,"path":221,"acronym":6,"category":186,"difficulty":215,"description":222},"\u002Fterms\u002Fv\u002Fvue","Vue is a JavaScript framework for building interactive UIs. It's famous for being easy to pick up — HTML developers feel right at home.",1776518320628]