Javascript Interview Questions ( 'this' Keyword ) - Output Based, Scope, Implicit Binding, etc

Sdílet
Vložit
  • čas přidán 16. 06. 2024
  • #JavascriptInterview #Javascript #FrontendInterview
    Javascript Interview Questions on 'this' Keyword ( or Implicit Binding ) will be discussed in this video including how it behaves in global context, Function, Object etc.
    🟦 Follow me on Twitter and u will clear your interview 🤓 -
    / piyush_eon
    ⭐ Support the channel and learn from me One on One -
    / @roadsidecoder
    🔗 Blog for the video -
    roadsidecoder.hashnode.dev/ja...
    🔗 Functions Interview Video -
    • Javascript Interview Q...
    🔗 Objects Interview Video -
    • Javascript Interview Q...
    🔗 Javascript Interview Series -
    • Javascript Interview Q...
    🔗 Cars24 Interview Experience -
    • Frontend Interview Exp...
    🔗 Unacademy Interview Experience -
    • Frontend Interview Exp...
    🔗 MERN Stack Tutorial with Redux -
    • MERN Stack Project Tut...
    🔗 React Beginner's Project Tutorials -
    • React JS Project Tutor...
    -------------------------------------------------------------------------
    00:00 Intro
    01:00 What is 'this' ?
    01:53 'this' in Global Context
    02:30 'this' in normal function
    03:08 'this' in arrow function
    03:37 'this' in function inside Object
    07:33 'this' in a class
    09:26 Ques 1 - Output Based Question
    10:35 Ques 2 - Result of accessing ref
    12:41 Ques 3 - setTimeout and 'this' keyword
    14:59 Ques 4 - Output Based Question
    15:44 Ques 5 - Create a Calculator
    17:24 Ques 6 - Output Based Question
    20:15 Ques 7 - Implement 'calc' object
    22:39 Call, Bind and Apply
    -------------------------------------------------------------------------
    Special Thanks to our members -
    Srinivas Ayyagari
    Saikiran K

Komentáře • 169

  • @RoadsideCoder
    @RoadsideCoder  Před rokem +2

    🔴 Get my Complete Frontend Interview Prep course - roadsidecoder.com/course-details

    • @Solo_playz
      @Solo_playz Před rokem +2

      Hii brother can I get to know what's your age ??

    • @RoadsideCoder
      @RoadsideCoder  Před rokem +1

      @@Solo_playz 24

    • @Solo_playz
      @Solo_playz Před rokem +1

      @@RoadsideCoder Great man are you an IITian

    • @RoadsideCoder
      @RoadsideCoder  Před rokem +1

      @@Solo_playz No, I'm from a tier 3 college

    • @Solo_playz
      @Solo_playz Před rokem

      @@RoadsideCoder What is tier 3 ??

  • @ivanshoshkov
    @ivanshoshkov Před rokem

    I havent seen more detailed videos on coding subjects than yours! Thank you!

  • @harshdeepbilaiya3076
    @harshdeepbilaiya3076 Před rokem +2

    this is some excellent practice material. pls add more o/p based Qs for OOJS, Prototypes, etc.
    an addition to the problem at 17:25 -
    if at line 4, we use let/ const instead of var to create 'length' variable, then while executing 'callback', the (this) Window object won't have length set to 4. It could be anything, like in JSFiddle, it is set to 0. since let/ const are created in TDZ.
    there can be so many more variations to this problem. i find this an incredible practice problem. many thanks!

  • @kalynndier6524
    @kalynndier6524 Před rokem +1

    I absolutely LOVE your videos. You are amazing at explaining everything and for the first time EVER, I finally get it! Thank you. Do you have patreon? I'd love to support you.

  • @xen0076
    @xen0076 Před rokem +6

    You are an absolute genius, i never understood this concept but your teaching is just fabulous, i hope that you launch your own udemy course in a structured way to master JS. You deserve to get paid for such content

  • @shrushtipolekar8804
    @shrushtipolekar8804 Před rokem +1

    Extremely helpful video! Helped me to develop a more clear understanding of 'this' keyword . Please keep on making more such output based questions videos.

  • @ismailshaikh1666
    @ismailshaikh1666 Před 2 měsíci +1

    This series is Onepiece of Javascript

  • @akshayshinde2403
    @akshayshinde2403 Před rokem +1

    Question 6 & 7 are just mind blowing.

  • @anubhapant5227
    @anubhapant5227 Před 4 měsíci

    Just learned so many new things from this video. The last ques is just amazing. Please make more such video of questions like the last one. Highly informative content 👌✌

  • @AkramDevTalks
    @AkramDevTalks Před rokem +3

    Great explanation! A more accurate answer would be :
    In an arrow function "this" is a part of its closure, i.e. it is taken from the context. Where it is defined and not the object in which it is defined.
    In a normal function "this" is points to the object it is a part of.

  • @vincent3542
    @vincent3542 Před rokem

    Unbelievable video! I like all your Playlist about react and javascript...
    Love from indonesian 👍

  • @shash0_0
    @shash0_0 Před měsícem

    This is some really high quality content and all for free! Your curation of questions are impressive, really making me scratch my head. Thank you mate!

    • @RoadsideCoder
      @RoadsideCoder  Před měsícem

      Thanks man! Full course here - roadsidecoder.com/course-details

    • @shash0_0
      @shash0_0 Před měsícem

      @@RoadsideCoder For sure. I'll buy your courses the first thing I get a job lol. Also do you have a patreon.

  • @charankumarbasam5866
    @charankumarbasam5866 Před rokem

    this with arrow function is greatly explained. thank you

  • @kartik7775
    @kartik7775 Před rokem

    Thank you so much! You're my favorite teacher.

  • @AmirHussain-dd6zw
    @AmirHussain-dd6zw Před rokem

    You have great variety of questions

  • @itsMohak
    @itsMohak Před rokem

    You are splendid

  • @bruhathimusicalwings1503

    gem of explanation ...thank you

  • @purusharma8192
    @purusharma8192 Před rokem +1

    this channel is highly addicted,i have seen more than 10 videos continously

  • @AmolAghav
    @AmolAghav Před rokem

    Question 5 was amazing! Thanks!

  • @fares.abuali
    @fares.abuali Před rokem

    Thank you so much!
    This is so informative 💖

  • @DSEEUtkarshSinghParihar
    @DSEEUtkarshSinghParihar Před 10 měsíci +1

    THIS IS GOLD

  • @simionandrei5409
    @simionandrei5409 Před rokem +23

    Great video! Are you going to drop some videos related to OOP Concepts(constructor, class) or Prototype Inheritance?

    • @RoadsideCoder
      @RoadsideCoder  Před rokem +19

      Yes, definitely if more people ask for it!

    • @manojradharapu4688
      @manojradharapu4688 Před rokem

      @@RoadsideCoder pls do it , then more people will watch and subscribe like me

    • @techupdate03
      @techupdate03 Před rokem +2

      @@RoadsideCoder yes sir..I also interested. After that can you explain about promise from scratch.

    • @kalyanyadlapalli6103
      @kalyanyadlapalli6103 Před rokem +2

      @@RoadsideCoder yes please drop a video brother

    • @ashwaniagrawal700
      @ashwaniagrawal700 Před rokem +2

      @@RoadsideCoder yes, need some good videos on OOP concepts

  • @ankushladani496
    @ankushladani496 Před rokem

    Yes we want video on class,new keyword , etc....

  • @MukeshKumar-bt5gb
    @MukeshKumar-bt5gb Před rokem +2

    Thanks, Was waiting for this!
    I was asked many questions regarding this in Cars24 interview this week 😄

  • @SonuKumar-tw1oi
    @SonuKumar-tw1oi Před rokem

    Please make a video on class , and its relation with this...Your content and teaching is fabulous.

  • @ambeshtiwari9977
    @ambeshtiwari9977 Před měsícem

    thank you Roadside coder .

  • @angryman9333
    @angryman9333 Před rokem +1

    I love this

  • @ninjaplavi
    @ninjaplavi Před rokem +6

    I know it is a generalization, but many Indian devs seem to have issues with following naming best practices and I can't figure out why that is...On a more serious note, great videos, well structured and researched.

    • @de-stressmusic432
      @de-stressmusic432 Před rokem +3

      This is because the whole video is a copy of an article by dmitripavlutin, my previous comment mentioning it was deleted.

  • @vinithaboyidi3354
    @vinithaboyidi3354 Před 11 měsíci

    Great explanation!! Thanks

  • @front-end-world
    @front-end-world Před 2 měsíci

    I was recently asked a question on what is the difference between invoking the object directly suing the method & using call
    I did not know this implicit bindings vs explicit binding
    Great one kudos piyush :)

  • @ProgrammingWithProject

    Please continue this series

  • @varunparihar3717
    @varunparihar3717 Před 4 měsíci

    this was great..can you please make videos on node,express,mongo too. That would be extremely helpful since you explain things quite nicely.

  • @RahulKumar-ew1qw
    @RahulKumar-ew1qw Před rokem

    Bro u make me great than my yesterday.
    Thank you ...

  • @navneet8638
    @navneet8638 Před rokem

    Bhai Apka Knowledge toh kamal ka hai🖤🖤🖤

  • @mohininarwade1108
    @mohininarwade1108 Před rokem +1

    Hi Dear… I am really a big fan… You have such a deep knowledge of almost every technology. I have 1 request… Do you have any idea about how can we call salesforce commerce cloud API from Angular??? please reply if you know this or make a short video. Thanks

  • @rahulvanave
    @rahulvanave Před rokem

    Yes
    Please make video on class as well

  • @sidhishkumar
    @sidhishkumar Před rokem

    yes Please create a deep tutorial on class and constructor

  • @imtiazalikhan2709
    @imtiazalikhan2709 Před rokem

    Bro, your output based questions are Awsome.👋

  • @abd11868
    @abd11868 Před rokem

    14:08 piyush, can we do bind as well here? because I think once we bind a method with a object, no matter when/where we call that function it will always point to that object.

  • @lifeisbeautifu1
    @lifeisbeautifu1 Před rokem

    Thank you

  • @pushpabhandari619
    @pushpabhandari619 Před rokem

    Helpful!! , thank you ❤

  • @chiragsheth2263
    @chiragsheth2263 Před rokem

    13:50 logs name when we use parenthesis in front logMessage method invocation.... Or if you set user property using let keyword

  • @nishachapte7
    @nishachapte7 Před rokem

    Thank you so much..amazing content.

  • @shreymaurya3344
    @shreymaurya3344 Před rokem

    Amazing Video🥳

  • @riturathinsharma5931
    @riturathinsharma5931 Před rokem +2

    This always sounds confusing. Just the easiest way to interpret. Its always the caller function for the normal function calls and for the arrow functions it will always be 2 level deeper( kind of like parent of parent)

  • @deepakverma2071
    @deepakverma2071 Před rokem +1

    Great video bro! Keep coming up with interesting videos like these ❤️.
    Just adding one more concept here Arguments in a function is not an array it is array like object.
    Array like object does not have all the properties of an array like map, filter etc.

  • @dharmeshgohil9375
    @dharmeshgohil9375 Před rokem

    Awesome👍👍👍

  • @acchugowda7767
    @acchugowda7767 Před rokem

    Please release next vedio on bindings as soon as possible.

  • @DevangPatil
    @DevangPatil Před rokem

    Nice.

  • @Saikumar-kb4lf
    @Saikumar-kb4lf Před rokem

    This is really good content. I can't deny that. But definitely here 'this' was explained in a hacky way. Please watch this related video from dev sage and you can really master this

    • @RoadsideCoder
      @RoadsideCoder  Před rokem

      Thanks, The main aim of this video is to assist for Javascript Interviews, therefore the hacky way.

  • @tpadma7419
    @tpadma7419 Před 2 měsíci

    yes please make a video on constructors and this🙏

    • @RoadsideCoder
      @RoadsideCoder  Před 2 měsíci

      You can find this and other topics here - roadsidecoder.com/course-details

  • @parmarhitendrasinh4504

    Amazing Video's ♥️

  • @tharapearlly1736
    @tharapearlly1736 Před rokem

    Have you come across any practice sites that help us sharpen these skills?

  • @user-nl4cr7tg3i
    @user-nl4cr7tg3i Před 9 měsíci

    Please make a video on session and local storage with Json.stringify , parse , constructors and classes also.

  • @user-np8rc1jw6n
    @user-np8rc1jw6n Před 5 měsíci

    Can you add interview series for Angular ? It will be really helpful for us as angular developer.

  • @parmaryash4406
    @parmaryash4406 Před rokem +1

    Supep video

  • @abhishekvishwakarma9045

    fact is `this` is the least thing we will ever gonna use (class based is exception) in our day to day work, this makes this concept tougher but interviewers love this type of question lol😆, btw Awesome video 🔥

    • @RoadsideCoder
      @RoadsideCoder  Před rokem +1

      That's not true, if your company is using let's say class based component in react, it will use 'this' a lot

    • @abhishekvishwakarma9045
      @abhishekvishwakarma9045 Před rokem

      @@RoadsideCoder Completely agree forget about class based ✌but we're shifting towards functional based programming 😌

  • @shubhamkharadkar3753
    @shubhamkharadkar3753 Před 9 dny

    00:02 Understanding 'this' keyword in JavaScript
    02:11 Understanding 'this' keyword in different contexts
    04:14 Understanding 'this' keyword in JavaScript
    06:32 Understanding 'this' keyword in normal function and arrow function
    08:41 Understanding 'this' keyword in JavaScript object
    10:37 Accessing 'this' inside a function can be tricky.
    12:42 Understanding 'this' keyword in JavaScript
    14:49 Understanding 'this' keyword in different functions
    16:50 Understanding 'this' binding in JavaScript.
    18:38 Understanding 'this' keyword in JavaScript functions
    20:40 Example of chaining functions in JavaScript
    22:32 Upcoming video on Explicit Binding

  • @RavindraSingh-lp9pl
    @RavindraSingh-lp9pl Před 3 měsíci

    please make video on class and constructor in Javascript

  • @ooomr.kibeautifulmiss2754

    Make video for everything in javaScript ..

  • @krunaljoshi7390
    @krunaljoshi7390 Před 7 měsíci

    Really good content, make some practice platform

  • @BCSBhaveekJain
    @BCSBhaveekJain Před 9 měsíci

    At 14:50 we can do "setTimeout(user.logMessage(), 1000);", its giving correct output. We can do this also "
    setTimeout(user.logMessage.bind(user), 1000);"

  • @ShivamSingh-ct1ix
    @ShivamSingh-ct1ix Před rokem

    Hello Can you make a video on OOPS concept in javascript.

  • @jayantsharma2669
    @jayantsharma2669 Před rokem

    Hey Piyush, thanks for this awesome video. Please correct my understanding if I am wrong:
    print is defined inside obj and obj don’t have its own scope its inheriting the scope from its parent which is global object that’s why arrow function pointing to global object (bcz it inherits this from lexical scope) .
    let obj = {
    name : 'temp',
    print : () => {
    console.log(this); // global/window object
    }
    }

    • @RoadsideCoder
      @RoadsideCoder  Před rokem +2

      It doesn't matter what scope obj has, arrow function takes its scope from parent normal function which in this case is not there, so it is targeting global. So even if the arrow function nested deep inside a object, if it doesn't have a parent normal function, it act the same.

    • @jayantsharma2669
      @jayantsharma2669 Před rokem +1

      @@RoadsideCoder Ok got it, arrow function search for nearest regular function that encloses it but in this case its not enclosed by any regular function then global this is inherited by arrow function.

    • @RoadsideCoder
      @RoadsideCoder  Před rokem

      @@jayantsharma2669 Yes!

  • @ipsita_priyadarsini
    @ipsita_priyadarsini Před rokem

    Make video on class, constructors video please, i don't understand those

  • @himanshupandey3451
    @himanshupandey3451 Před rokem +1

    on 17:56 the same code run on browser and node console return different result. on node console it return undefined?

  • @avinaymishra8345
    @avinaymishra8345 Před rokem

    please make oops concept on javascript in details

  • @anejasahil
    @anejasahil Před rokem

    Dude just got introduced to your channela few days back your content is amazing, keep going man!!

  • @vishaltp6083
    @vishaltp6083 Před rokem

    hey ,
    where can we find these kind of other questions

  • @divyasampath2843
    @divyasampath2843 Před rokem

    Video on class and constructors please!!

  • @divasbhadani9225
    @divasbhadani9225 Před 7 měsíci

    where we can practice all those types of question ?

  • @ayushyadav8851
    @ayushyadav8851 Před rokem

    The day this video got published i was asked the calc question and i messed up because of 'this' reference

  • @dharmeshgohil9375
    @dharmeshgohil9375 Před rokem

    can you make a video of stripe payment plzzzzzzzzzzzz in hindi

  • @sajalgupta7345
    @sajalgupta7345 Před rokem

    My solution for Question 2:
    function user() {
    return {
    name: "Sajal",
    ref: this
    }
    }
    const test = user();
    const result = user.bind(test);
    console.log(result().ref.name); //Sajal
    I tried it with .bind() 😀

  • @ProgrammingWithProject

    Please tell the references point from where you learned all the core concepts of javascript

  • @PIYUSH-lz1zq
    @PIYUSH-lz1zq Před rokem

    sir , can u make videos to make nested comment section and folder structure using JS

  • @rohithchittibommala2002

    Live stream + resume review

  • @sequoiakanies2202
    @sequoiakanies2202 Před 8 dny

    Great video as always. Btw you are saying and spelling “substract” instead of “subtract”

  • @shubhanshusahuu
    @shubhanshusahuu Před měsícem

    Why calling user.method() inside console.log is not called as callback??

  • @harshsinghchauhan869
    @harshsinghchauhan869 Před rokem

    🌟🌟🌟🔥

  • @arvindverma2629
    @arvindverma2629 Před rokem

    make a video class and constructor

  • @hellochenyu
    @hellochenyu Před 11 měsíci

    Can you please help expain in 18:02? Why the nested fn() is targeted the global window object? Thanks!

    • @RoadsideCoder
      @RoadsideCoder  Před 11 měsíci

      watch my functions video, u will understand it

  • @PIYUSH-lz1zq
    @PIYUSH-lz1zq Před rokem

    bhaiya , make a small js project which consist of these js concepts of debouncing , throttling etc.. placements r comming

  • @s1k_guy
    @s1k_guy Před rokem +1

    Bro why dont you create javascript vedios on basic data structure algorithm so it will help in interviews.

  • @mohitarya5189
    @mohitarya5189 Před rokem

    Hello can anyone tell me where I can get the javascript output based questions

  • @Lucifer-xt7un
    @Lucifer-xt7un Před rokem

    Where are you working now bro

  • @abhirocks723
    @abhirocks723 Před 2 měsíci

    Hey guys .. can anyone explain why window.ref.name is not undefined and it is empty?

  • @darshillashkari6384
    @darshillashkari6384 Před rokem

    put dsa and oop vids on javascript

  • @hemamane739
    @hemamane739 Před rokem

    let user = {
    name :"hema mane!",
    getName(){
    console.log(this.name)
    }
    }
    let data =setTimeout(
    user.getName()
    ,1000)
    console.log(data)
    console.log(data) ---> is it correct way of accessing or else mandetory to use inside function only

  • @ammanmoini1202
    @ammanmoini1202 Před rokem

    sir what is window object and global object?
    plz explain a bit..

    • @RoadsideCoder
      @RoadsideCoder  Před rokem

      Hey, you can refer to this - developer.mozilla.org/en-US/docs/Web/API/Window

  • @ketandutt
    @ketandutt Před rokem

    Q3. it should be setTimeout(user.logMassage(), 1000) //() missing

  • @sanjaychoudhury1266
    @sanjaychoudhury1266 Před 5 měsíci

    this.a=7;
    function test(){
    console.log(this.a);
    }
    test() result is showing undefined

  • @mastpahadan490
    @mastpahadan490 Před rokem

    you go boy!!!!❤️❤️

  • @techycode2217
    @techycode2217 Před 2 měsíci

    So What' difference if you upload same video in your paid course and and youtube ?

    • @RoadsideCoder
      @RoadsideCoder  Před 2 měsíci

      Here's your answer - www.linkedin.com/feed/update/urn:li:activity:7174019126041018370/?originTrackingId=GTshFzTMQBqFiLZrQQuBNw%3D%3D

  • @mohdraqim2571
    @mohdraqim2571 Před rokem +1

    var length =4;
    function callback(){
    console.log(this.length);
    }
    const object ={
    length :5,
    method(fn){
    fn();
    },
    };
    object.method(callback);
    it giving undefined instead of output 4 anyone?

  • @tricyclejesus4572
    @tricyclejesus4572 Před rokem

    You should title these videos "JS trick questions". Seriously, if an interviewer was to ask these sorts of questions I'd politely excuse myself and look elsewhere.

  • @bluevojka
    @bluevojka Před 3 měsíci

    Hi, can anyone please explain 18:01

  • @anuragsharma966
    @anuragsharma966 Před rokem

    Where to get all these questions?

    • @samyakjain9850
      @samyakjain9850 Před rokem +1

      All questions are from here dmitripavlutin.com/javascript-this-interview-questions/

    • @anuragsharma966
      @anuragsharma966 Před rokem

      @@samyakjain9850 thanks man

  • @igorr4682
    @igorr4682 Před 9 měsíci

    what's more confusing to me is What's on your Head ??

  • @satishkoni6143
    @satishkoni6143 Před rokem

    "this" is scary