[{"data":1,"prerenderedAt":307},["ShallowReactive",2],{"term-l\u002Flogic-error":3,"related-l\u002Flogic-error":294},{"id":4,"title":5,"acronym":6,"body":7,"category":275,"description":276,"difficulty":277,"extension":278,"letter":279,"meta":280,"navigation":209,"path":281,"related":282,"seo":288,"sitemap":289,"stem":292,"subcategory":6,"__hash__":293},"terms\u002Fterms\u002Fl\u002Flogic-error.md","Logic Error",null,{"type":8,"value":9,"toc":269},"minimark",[10,15,19,23,26,30,258,262,265],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A logic error is the sneakiest kind of bug — the code runs perfectly fine, no crashes, no errors, but it does the WRONG thing. Like a calculator that works great but always gives you the wrong answer. The computer did exactly what you told it to do; you just told it the wrong thing.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A logic error is a defect in a program's algorithm or control flow that causes incorrect behavior without producing exceptions or syntax errors. The program executes successfully but produces wrong output. These are the hardest bugs to find because no error is thrown — only careful testing, comparison with expected values, or code review can detect them.",[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-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Logic error: wrong formula for average\nfunction average(arr) {\n  let sum = 0;\n  for (let i = 0; i \u003C= arr.length; i++) { \u002F\u002F BUG: should be i \u003C arr.length\n    sum += arr[i];\n  }\n  return sum \u002F arr.length; \u002F\u002F includes undefined, result is NaN\n}\n\n\u002F\u002F Looks fine, runs fine, but returns wrong result\nconsole.log(average([2, 4, 6])); \u002F\u002F NaN instead of 4\n","javascript","",[38,39,40,49,74,94,148,170,176,198,204,211,217],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Logic error: wrong formula for average\n",[41,50,52,56,60,64,68,71],{"class":43,"line":51},2,[41,53,55],{"class":54},"spNyl","function",[41,57,59],{"class":58},"s2Zo4"," average",[41,61,63],{"class":62},"sMK4o","(",[41,65,67],{"class":66},"sHdIc","arr",[41,69,70],{"class":62},")",[41,72,73],{"class":62}," {\n",[41,75,77,80,84,87,91],{"class":43,"line":76},3,[41,78,79],{"class":54},"  let",[41,81,83],{"class":82},"sTEyZ"," sum",[41,85,86],{"class":62}," =",[41,88,90],{"class":89},"sbssI"," 0",[41,92,93],{"class":62},";\n",[41,95,97,101,105,108,111,113,115,118,120,123,126,129,132,134,136,139,142,145],{"class":43,"line":96},4,[41,98,100],{"class":99},"s7zQu","  for",[41,102,104],{"class":103},"swJcz"," (",[41,106,107],{"class":54},"let",[41,109,110],{"class":82}," i",[41,112,86],{"class":62},[41,114,90],{"class":89},[41,116,117],{"class":62},";",[41,119,110],{"class":82},[41,121,122],{"class":62}," \u003C=",[41,124,125],{"class":82}," arr",[41,127,128],{"class":62},".",[41,130,131],{"class":82},"length",[41,133,117],{"class":62},[41,135,110],{"class":82},[41,137,138],{"class":62},"++",[41,140,141],{"class":103},") ",[41,143,144],{"class":62},"{",[41,146,147],{"class":47}," \u002F\u002F BUG: should be i \u003C arr.length\n",[41,149,151,154,157,159,162,165,168],{"class":43,"line":150},5,[41,152,153],{"class":82},"    sum",[41,155,156],{"class":62}," +=",[41,158,125],{"class":82},[41,160,161],{"class":103},"[",[41,163,164],{"class":82},"i",[41,166,167],{"class":103},"]",[41,169,93],{"class":62},[41,171,173],{"class":43,"line":172},6,[41,174,175],{"class":62},"  }\n",[41,177,179,182,184,187,189,191,193,195],{"class":43,"line":178},7,[41,180,181],{"class":99},"  return",[41,183,83],{"class":82},[41,185,186],{"class":62}," \u002F",[41,188,125],{"class":82},[41,190,128],{"class":62},[41,192,131],{"class":82},[41,194,117],{"class":62},[41,196,197],{"class":47}," \u002F\u002F includes undefined, result is NaN\n",[41,199,201],{"class":43,"line":200},8,[41,202,203],{"class":62},"}\n",[41,205,207],{"class":43,"line":206},9,[41,208,210],{"emptyLinePlaceholder":209},true,"\n",[41,212,214],{"class":43,"line":213},10,[41,215,216],{"class":47},"\u002F\u002F Looks fine, runs fine, but returns wrong result\n",[41,218,220,223,225,228,230,233,236,239,242,245,247,250,253,255],{"class":43,"line":219},11,[41,221,222],{"class":82},"console",[41,224,128],{"class":62},[41,226,227],{"class":58},"log",[41,229,63],{"class":82},[41,231,232],{"class":58},"average",[41,234,235],{"class":82},"([",[41,237,238],{"class":89},"2",[41,240,241],{"class":62},",",[41,243,244],{"class":89}," 4",[41,246,241],{"class":62},[41,248,249],{"class":89}," 6",[41,251,252],{"class":82},"]))",[41,254,117],{"class":62},[41,256,257],{"class":47}," \u002F\u002F NaN instead of 4\n",[11,259,261],{"id":260},"when-youll-hear-this","When You'll Hear This",[16,263,264],{},"\"No errors, but it's showing the wrong total — that's a logic error.\" \u002F \"Logic errors are why you need tests.\"",[266,267,268],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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":51,"depth":51,"links":270},[271,272,273,274],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":260,"depth":51,"text":261},"general","A logic error is the sneakiest kind of bug — the code runs perfectly fine, no crashes, no errors, but it does the WRONG thing.","beginner","md","l",{},"\u002Fterms\u002Fl\u002Flogic-error",[283,284,285,286,287],"Bug","Syntax Error","Runtime Error","Debug","Testing",{"title":5,"description":276},{"changefreq":290,"priority":291},"weekly",0.7,"terms\u002Fl\u002Flogic-error","72uzPoy7m_hee0AQMn_XhUQvoqH3ZE6rnqbCmKbMz70",[295,298,301,304],{"title":283,"path":296,"acronym":6,"category":275,"difficulty":277,"description":297},"\u002Fterms\u002Fb\u002Fbug","A bug is anything in your code that makes it behave wrong.",{"title":286,"path":299,"acronym":6,"category":275,"difficulty":277,"description":300},"\u002Fterms\u002Fd\u002Fdebug","Debugging is the process of finding and fixing the gremlins in your code. Something is broken, and you need to play detective — adding clues (console.",{"title":285,"path":302,"acronym":6,"category":275,"difficulty":277,"description":303},"\u002Fterms\u002Fr\u002Fruntime-error","A runtime error is one that only shows up when your program is actually running, not before.",{"title":284,"path":305,"acronym":6,"category":275,"difficulty":277,"description":306},"\u002Fterms\u002Fs\u002Fsyntax-error","A syntax error is when you write code that the computer cannot even understand — like handing someone a sentence with no verbs.",1776518293224]