Build this JS calculator in 15 minutes! 🖩

#JavaScript #tutorial #course
IMPORTANT NOTE: eval() allows you to execute a string of code as if it were actual JavaScript code.
While it is a useful tool, it is a security risk. I would recommend using eval() ONLY for learning purposes and not any actual production code.
00:00:00 HTML
00:03:08 CSS
00:11:21 JavaScript
This is a JavaScript project program for beginners where we will build a functioning calculator. Impress your friends!

Пікірлер: 265

  • @BroCodez
    @BroCodez5 ай бұрын

    IMPORTANT NOTE: eval() allows you to execute a string of code as if it were actual JavaScript code. While it is a useful tool, it is a security risk. I would recommend using eval() ONLY for learning purposes and not any actual production code. // CALCULATOR PROGRAM const display = document.getElementById("display"); function appendToDisplay(input){ display.value += input; } function clearDisplay(){ display.value = ""; } function calculate(){ try{ display.value = eval(display.value); } catch(error){ display.value = "Error"; } } Document + 7 8 9 - 4 5 6 * 1 2 3 / 0 . = C body{ margin: 0; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: hsl(0, 0%, 95%); } #calculator{ font-family: Arial, sans-serif; background-color: hsl(0, 0%, 15%); border-radius: 15px; max-width: 500px; overflow: hidden; } #display{ width: 100%; padding: 20px; font-size: 5rem; text-align: left; border: none; background-color: hsl(0, 0%, 20%); color: white; } #keys{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 25px; } button{ width: 100px; height: 100px; border-radius: 50px; border: none; background-color: hsl(0, 0%, 30%); color: white; font-size: 3rem; font-weight: bold; cursor: pointer; } button:hover{ background-color: hsl(0, 0%, 40%); } button:active{ background-color: hsl(0, 0%, 50%); } .operator-btn{ background-color: hsl(35, 100%, 55%); } .operator-btn:hover{ background-color: hsl(35, 100%, 65%); } .operator-btn:active{ background-color: hsl(35, 100%, 75%); }

  • @skappy2000

    @skappy2000

    5 ай бұрын

    Hey bro code big fan here I was thinking will you make website projects using html, css and js? It will help a lot with people understanding more better in that way Portfolio-worthy projects

  • @mirmumit3888

    @mirmumit3888

    3 ай бұрын

    Can u plz tell me, how to change the only color of the text "Error" on the calculator display?

  • @skappy2000

    @skappy2000

    3 ай бұрын

    ​@@mirmumit3888 Use the display.style.color property in script.js file function calculate(){ try{ display.value = eval(display.value); display.style.color = 'white'; // Set text color to white after successful calculation } catch(error){ display.value = "Error"; display.style.color = 'red'; // Set text color to red for error message } }

  • @SiiamW

    @SiiamW

    3 ай бұрын

    Hey clicking ''." more than once is an error too. this program is slightly wreaked.

  • @oli3641

    @oli3641

    3 ай бұрын

    @@SiiamW well obviously, because 2..4 is not a valid float or integer

  • @alvinderama3196
    @alvinderama31965 ай бұрын

    Watching something being created from scratch is pretty entertaining and educational.

  • @watchdoggie8145
    @watchdoggie8145Ай бұрын

    Super thankful for the awesome instructions! keep up the good work.

  • @pope1089
    @pope10892 ай бұрын

    Just started coding, That video helped alot. Straight to the point. I,ll have to check your other videos out before i start asking questions about eval() ans security risks. Thanks

  • @yateen-hi9er

    @yateen-hi9er

    2 ай бұрын

    share some resorses with i am a beginner too

  • @doronfeldman5152
    @doronfeldman51525 ай бұрын

    You have the best programming channel, I learn html, css, javascript and python in your channel

  • @f4sma
    @f4sma22 күн бұрын

    Your tone of the voice, the way you explain what you are doing.. it's perfect. Subbed!

  • @vc6218
    @vc621812 күн бұрын

    one of the few videos on here that breaks it down simply. I already understood a bit of html and css - javascript hasn't made that much sense to me until now. Thank you!

  • @reptilianis577
    @reptilianis5775 ай бұрын

    Another useful video! I am waiting for more ;)

  • @Nanashi_29
    @Nanashi_292 ай бұрын

    Best channel about programming

  • @muhammet_05
    @muhammet_055 ай бұрын

    Thanks for those teaching video. i love it ❤

  • @He_Roll2024
    @He_Roll20242 ай бұрын

    Few codes but precised. I'm amazed bro.

  • @syroxdxd
    @syroxdxdАй бұрын

    I just have to say that you are amazing. I had an introduction class in java and I missed every lecture. I whatched the first 5 hours of your 12hr java course and I passed the exam. You are an amazing teacher. Better than the ones I have at univerity :)

  • @user-ko6hz5lq1d
    @user-ko6hz5lq1d4 күн бұрын

    After seeing other videos of writing the code for Calculator app, I find yours the best and easy to understand and needs less lines of code. Thank you very much for uploading this.

  • @niyonkuruinnocent17
    @niyonkuruinnocent172 ай бұрын

    You're the best teacher ❤

  • @jiyoungkim9258
    @jiyoungkim92584 ай бұрын

    you literally give me confidence

  • @naglakandeel3152
    @naglakandeel3152Ай бұрын

    best teacher ever continue ❤

  • @petersimthobele
    @petersimthobele2 ай бұрын

    I learnt a lot from this video in 15 min 👏👌

  • @mohsenvanc
    @mohsenvancАй бұрын

    that is amazing, thank you

  • @volinh6386
    @volinh63864 ай бұрын

    your style' css so good , it very butufu

  • @khushantwankhede8311
    @khushantwankhede83112 ай бұрын

    thankyou for such a useful content.

  • @12karmel12
    @12karmel125 ай бұрын

    thank you for making daily javascript videos

  • @sogwafl
    @sogwafl5 ай бұрын

    I have a terrible Java Professor, cant retain an oz of her teaching. So I exclusively built my own syllabus off your java topic vids and passed. You are doing gods work and are great at helping my dumbass retain all this info.

  • @ent.8979

    @ent.8979

    5 ай бұрын

    youre not a dumbass, some teachers just don't know how to teach and make the subject impossible to understand. And that's mostly college professor. That's why learning from the internet is becoming more and more valid

  • @russellhan3534

    @russellhan3534

    4 ай бұрын

    @@ent.8979facts, attending college literally for the degree

  • @lintee_12

    @lintee_12

    3 ай бұрын

    @@ent.8979 i mean its probably because he was getting taught real programming fundamentals... he didn't even know that this was javascript not java

  • @hurricanos13
    @hurricanos135 ай бұрын

    One of the best coding channel aside with the legendary new boston Bucky Roberts. but i think this channel stuff is also hated by youtube algorithms

  • @ZXOT14
    @ZXOT1423 күн бұрын

    I don't understand code that well but something about his videos is just so therapeutic.

  • @armandopena5508
    @armandopena55082 ай бұрын

    I was hopping to see how you made the actual calculation taking into account that eval is not safe, it would be awesome if you could share how to make a function that at least calculates some basic mathematical operations since this is a very basic project that many people who are starting in programming make, usually without adding the funcitonality, when parsing the math operation is the most important thing of this project!. Great content!

  • @shjsbsbs7186

    @shjsbsbs7186

    Ай бұрын

    Agree, eval is not safe for newbie

  • @larslover6559

    @larslover6559

    Ай бұрын

    Theres several nice tutorial on python to make calculator without the eval function. There you really see it hard coded from scractch!

  • @mmafights__
    @mmafights__3 ай бұрын

    soooooo useful thankssssss❤❤

  • @nazmussakib9346
    @nazmussakib934629 күн бұрын

    Thank you...❤

  • @Inke7
    @Inke75 ай бұрын

    Thank you kind sir!

  • @manueldiegoalexander3879
    @manueldiegoalexander38795 ай бұрын

    Thanks this is crazy,i like it bro.

  • @TheRealKingofCubing
    @TheRealKingofCubingАй бұрын

    This is teaching me so much amazing video

  • @hunin27
    @hunin275 ай бұрын

    Thanks!!!

  • @mikesougly
    @mikesouglyАй бұрын

    Thank you 🙏

  • @habibousy8723
    @habibousy87233 күн бұрын

    GREAT I'm senegalese and my english is not perfect but I learn a lot because of you😎😎😎. My javascript futur will be bright with you😎😎

  • @namanthacker
    @namanthackerАй бұрын

    Very nice video Thanks!!

  • @neerajmeka25
    @neerajmeka252 ай бұрын

    Great Project had fun to build this project, u got a new sub will check your more videos

  • @PurplexSKyo
    @PurplexSKyo5 ай бұрын

    Hello Bro Code I love your videos, I try to learn C by looking your videos and its amazing I know its a litter bit late for tell you this but can you please do a tutorial learn Lua please if its don't mind you Thanks you for having the time to look the lines and keep continute I love your videos👍🏾👍🏾

  • @mcpigeon6908

    @mcpigeon6908

    5 ай бұрын

    yes I'd love to learn Lua too :)

  • @coderprakash
    @coderprakash5 ай бұрын

    Hi please make a complete tutorial on typescript 🙏 i followed ur javascript and react thanks alot ❤️🔥 love from India, I know Frontend development because of u please consider my request and make typescript full tutorial

  • @CharukaRanathunga-bi6fy
    @CharukaRanathunga-bi6fy2 ай бұрын

    thank you 👍

  • @elisabethkolar9364
    @elisabethkolar93642 ай бұрын

    super cool, thank's a lot

  • @hunin27
    @hunin275 ай бұрын

    Wow, then what we are doing is pretty much just styling. I had no idea javascript had a "built-in" calculator inside of a function!!

  • @BroCodez

    @BroCodez

    5 ай бұрын

    eval() runs a JS expression dynamically at runtime. It can be a security risk tho

  • @hunin27

    @hunin27

    5 ай бұрын

    oh, well im pretty sure its not that hard to make a calculator without using it. i mean eval is a function and we could just recreate it@@BroCodez

  • @lelin4732

    @lelin4732

    3 ай бұрын

    You can have 100 years of JS experience but still be encountering something damn new 💀 Just a beauty of coding

  • @user-un9fs3oj5r
    @user-un9fs3oj5rАй бұрын

    thenkyou very much

  • @kursatepik5197
    @kursatepik51975 ай бұрын

    you are a hero brother

  • @ciro3857
    @ciro38574 күн бұрын

    Thank u lad

  • @omidrezafeizi3530
    @omidrezafeizi3530Ай бұрын

    very informative

  • @berbahc
    @berbahc4 ай бұрын

    so cool thanks bro

  • @godcomplex1929
    @godcomplex19295 ай бұрын

    Sir, I think we are due a database tutorial. I was tryna learn on MariaDB since it was free but couldn't get anywhere without your detailed guide.

  • @siampro3891
    @siampro38914 ай бұрын

    BEST👍👍👍👍

  • @paraglide01
    @paraglide014 ай бұрын

    Wauw, thanks man this is great. Making a calculator creates so many ideas for apps that need input and calculating.

  • @user-id5vh7rq3j
    @user-id5vh7rq3j4 ай бұрын

    I think this was the easiest calculator build and explanation from any other youtube channel

  • @samueldayo9261

    @samueldayo9261

    4 ай бұрын

    Was about to comment this yesterday it is the best

  • @n.n.g2230
    @n.n.g22302 ай бұрын

    yo bro code, thanks as always for a great video and motivation to study!

  • @4chillingout
    @4chillingout2 ай бұрын

    So educational video ever seen

  • @vitorh.4567
    @vitorh.456710 күн бұрын

    awesome video

  • @user-xj7te3qs8u
    @user-xj7te3qs8u5 ай бұрын

    Great 😊 😊😊

  • @subhro3044
    @subhro30444 ай бұрын

    Yo thanks for the video tutorial as someone who's starting out with coding HTML this was super fun to do as a project Just one question though when I tried to replicate it and open the index.html file as *Open with Live Server* I'm just getting the basic buttons that was done at the start Am I opening/running it the wrong way?

  • @Kokoclouds

    @Kokoclouds

    2 ай бұрын

    same here for me, i dunno what i'm doing wrong either. checked all the line, everything matches but still not getting the round buttons

  • @technicalresi5451
    @technicalresi54515 ай бұрын

    Very nice bro 😊❤

  • @danielbeeber5587
    @danielbeeber558714 күн бұрын

    Awesome

  • @hesa4196
    @hesa41964 ай бұрын

    Nice!

  • @StephenColeman-yj5vo
    @StephenColeman-yj5vo25 күн бұрын

    Amazing

  • @leobertobittencourtfilho3036
    @leobertobittencourtfilho3036Ай бұрын

    I wish (and I'm trying to) that I could code at this level. Honestly!

  • @zahersankari7342
    @zahersankari734214 күн бұрын

    Why so simple?!? Thanks!

  • @RahulBhatia-py1iv
    @RahulBhatia-py1iv27 күн бұрын

    U are legend 😅mann

  • @moontvdyyds6846
    @moontvdyyds684611 күн бұрын

    thanks lots

  • @slender2128
    @slender21285 ай бұрын

    Good Video ❤🎉

  • @cheaterlp23
    @cheaterlp23Ай бұрын

    My version didn't work, so I searched for a while. Guess what the error was. Correct: My version: =_= Anyway, really useful video, learned a lot.

  • @user-ej4vt2vg4o
    @user-ej4vt2vg4o2 ай бұрын

    you know that your the best yeah

  • @cristiandalessandro599
    @cristiandalessandro5995 ай бұрын

    Are all these videos going to be part of an updated full course?

  • @wonders8410
    @wonders8410Ай бұрын

    Hey just want to let you know that there is an error in the code that you have presented if you do 7+ =you know it equals an error but that error is a text and you can do something like Error + 7 = FUNCTION ERROR() {[NATIVE CODE]}

  • @nurialsaeed5769
    @nurialsaeed57695 ай бұрын

    great

  • @hada31
    @hada3123 күн бұрын

    function calculate() { try { display.value = math.evaluate(display.value); } catch (error) { display.value = "Error"; } }

  • @_rezalet_kanal_
    @_rezalet_kanal_5 ай бұрын

    entertaining af

  • @FijiAura_GD
    @FijiAura_GD5 ай бұрын

    Hi Bro Code, can you do a Lua full course?

  • @Oh_Sayang
    @Oh_Sayang5 ай бұрын

    Now my iPad can finally have a calculator app lol

  • @darkslopegaming6855
    @darkslopegaming68555 ай бұрын

    Do you have a patreon or something? I would love to support you!

  • @kapteinoliver
    @kapteinoliver3 ай бұрын

    👏👏👏👏

  • @strategistaow3520
    @strategistaow35205 ай бұрын

    Calculator is easy thing Can you make 3d space like in games?

  • @paulpaul6042
    @paulpaul60424 ай бұрын

    can we do a bubble we can write on it and with a option to add other or delete it? and see it on a 3 D?

  • @mhd_Code
    @mhd_CodeАй бұрын

  • @crackllitos1577
    @crackllitos15773 ай бұрын

    This video was very helpful, but is there a way were I can make the calculator into mobile mode?

  • @user-yl2lp9ey1x
    @user-yl2lp9ey1x2 ай бұрын

    thank you for this video....mine is showing "ncaught ReferenceError: appendToDisplay is not defined"

  • @delhiwarriorgaming2882
    @delhiwarriorgaming28824 ай бұрын

    sir, i am also practicing that code but I have a problem with the clear button, when I am clicking it nothing happens.....pls solve it..

  • @thegoldgamer6339
    @thegoldgamer63393 ай бұрын

    bro knows 4 programming languages bros a god

  • @clementsim7227
    @clementsim72272 ай бұрын

    Hi! I have a question! Why is it that the appendToDisplay function only works when I remove type="module" within my script tags in the HTML document?

  • @moughkeracaleb3837
    @moughkeracaleb38374 ай бұрын

    welldone @BroCode same is not working for me......thanks for the good work.

  • @MinChen-bg6dc
    @MinChen-bg6dcАй бұрын

    Giga can teach programming

  • @pastori2672
    @pastori26725 ай бұрын

    how would you implement stuff like factorial and log etc.. ?

  • @thecoolnewsguy

    @thecoolnewsguy

    5 ай бұрын

    For log, use the built-in Math object, for factorial, look for an algorithm on the internet or a library

  • @pope1089
    @pope10892 ай бұрын

    How would you bind the calculator to your pc number pad.

  • @elitetatsuya
    @elitetatsuya4 ай бұрын

    iPadOS developers should watch this

  • @Covyessien
    @Covyessien4 ай бұрын

    ❤❤❤❤❤❤

  • @navabharathi810
    @navabharathi8102 ай бұрын

    Bro 😈😈 you are a gem

  • @Aliahmadi-fn5of
    @Aliahmadi-fn5of3 ай бұрын

    Nice 🤌 for you

  • @mirmumit3888
    @mirmumit38883 ай бұрын

    Can u plz tell me, how to change the only color of the text "Error" on the calculator display?

  • @tjarrows14
    @tjarrows14Ай бұрын

    Just curious how you get your project to update in ream time? I have to stop it and rerun it every time to check out a new change I made in the css. I use visual code studio as well. Thank you.

  • @reambillorussels.4641

    @reambillorussels.4641

    Ай бұрын

    Use live server extension on vs code

  • @tjarrows14

    @tjarrows14

    Ай бұрын

    @@reambillorussels.4641 omg thank you

  • @sohamghosh533
    @sohamghosh533Ай бұрын

    never expected js to have something called eval 😂😂😂. I was just wondering from the beginning how we will calculate the expression in string format

  • @zzumiittow
    @zzumiittow3 ай бұрын

    In my case, the JavaScript code only works if I declare the const “display” inside the appendToDisplay function, why is that? I tried using the exact same code and it didn’t work, that doesn’t make sense.

  • @theuser810
    @theuser8103 ай бұрын

    How did you get the setup where your website autosyncs with the code? That seems like a lifesaver!

  • @danarseptiyanto4066

    @danarseptiyanto4066

    3 ай бұрын

    It's "live server" extension on VS Code, it auto refresh the browser whenever you save, very useful

  • @theuser810

    @theuser810

    3 ай бұрын

    @@danarseptiyanto4066 Thanks

  • @shenanvindinu5120
    @shenanvindinu512020 сағат бұрын

    ❤❤😁😁

  • @shauryacode76
    @shauryacode762 ай бұрын

    Can you please tell me why my clear display isn’t working

  • @jamesdillard4114
    @jamesdillard4114Ай бұрын

    what could we use instead of eval?

  • @sugam_upadhyay
    @sugam_upadhyay29 күн бұрын

    AppendtoTodisplay is not defined error is coming in code now what to do next sir❤

  • @ForuXe
    @ForuXe2 ай бұрын

    When i click on numbers, nothing appears on display. I checked several times, what could it be ?