The JavaScript Spread Operator - One Thing You DIDN'T KNOW!

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ส.ค. 2021
  • Did you really understand how the spread operator works in JavaScript? It's great for making copies of shallow objects and arrays, but can it be used to make a deep clone?
    Spread Syntax Docs - developer.mozilla.org/en-US/d...
    _____________________________________________
    Newsletter 🗞
    Interested in exclusive content and discounts? 🤯 Sign up for the newsletter!
    www.jamesqquick.com
    _____________________________________________
    Connect with me 😀
    Live streams on Twitch - / jamesqquick
    Follow me on Twitter - / jamesqquick
    Join the 💬 Discord Server 💬 - / discord
    _____________________________________________
    COURSES 💻
    Learn how to build Fullstack apps with React and Serverless Functions - www.jamesqquick.com/courses/r...
    Learn everything you need to know about Visual Studio Code - www.udemy.com/learn-visual-st...
    Build a Quiz App - www.udemy.com/build-a-quiz-ap...

ความคิดเห็น • 64

  • @NeilvsZA
    @NeilvsZA 3 ปีที่แล้ว +20

    2 days ago I spent 6 hours trying to figure out why some code wasn't working, only to discover this little catch with the spread operator. I'm sure this video will save developers many hours!

    • @JamesQQuick
      @JamesQQuick  3 ปีที่แล้ว

      So glad you think it will be helpful!

    • @quangnguyencong8728
      @quangnguyencong8728 2 ปีที่แล้ว

      Could you share the context? I am seeking some real examples for this problem. Happy hacking, bro!

  • @solvedfyi
    @solvedfyi 2 ปีที่แล้ว +4

    I hate clicking dislike on videos of creators trying to share tidbits with the learning public. But I hate more the padding, spending a minute telling me to guess what I don't know, many minutes setting up a scenario, then finally punching in something I yes most definitely did know and is not rare knowledge to most that have completed introductory reading on the topic. There has to be a better way.
    I promise if you just tell us what you're going to teach from the gate, we'll still watch

  • @tyengineer0
    @tyengineer0 3 ปีที่แล้ว +5

    Dude love all your vids I’m a full stack dev w/a passion for front-end, and I can tell you that you never stop learning. So watching your stuff is always a good refresher/new point of view on coding I love it keep turning out the content man! All the best 💯

  • @dpklabs
    @dpklabs 3 ปีที่แล้ว +1

    Another great video - I knew about this, but really enjoyed how you explained it.

  • @NOPerative
    @NOPerative 3 ปีที่แล้ว

    Pointers in Javascript - good vid.
    For everyone whom might be unfamiliar with pointers: a reference is a pointer sans confusing jargon.
    Can't get over the fact that this video is so awesome; excellent discussion.

  • @pranavbedre7841
    @pranavbedre7841 2 ปีที่แล้ว +2

    which vs code theme do you use??

  • @ToddDunning
    @ToddDunning 3 ปีที่แล้ว

    Great job - really cleared me up.

  • @George-rr1cd
    @George-rr1cd 3 ปีที่แล้ว +1

    Learning something new every day great content 👍👍

  • @plamenavramov2755
    @plamenavramov2755 ปีที่แล้ว

    Please can you share what is the settings that you use , its very cool that on the right next to the array when you mark it you can see the result

  • @user-wr8vh6js2i
    @user-wr8vh6js2i 2 ปีที่แล้ว

    Thank you for your analysis, very detailed。

    • @JamesQQuick
      @JamesQQuick  2 ปีที่แล้ว

      Glad you enjoyed it!

  • @bobkazamakis5169
    @bobkazamakis5169 3 ปีที่แล้ว

    Really enjoyed that video bro

  • @oldbig1183
    @oldbig1183 2 ปีที่แล้ว +1

    Hi James, I noticed that your vscode showed runtime value at the end of every line, could you please tell me how to do that?

  • @Sean4Help
    @Sean4Help 3 ปีที่แล้ว +1

    This reminds me of dealing with pointers in C++ class when my professor at OIT wanted to make sure we understood pass by reference...he gave us four star pointers to work with as a project. Needless to say, pass by reference is no longer a problem. lol

  • @toihirhalim
    @toihirhalim 3 ปีที่แล้ว

    Thanks James

  • @BookOfSaints
    @BookOfSaints 2 ปีที่แล้ว +2

    I'd love to see deep copying be standardized in the language soon enough

  • @tombraider6532
    @tombraider6532 3 ปีที่แล้ว

    Good tip that makes sense

  • @pakkavideos
    @pakkavideos 3 ปีที่แล้ว

    Any other ways to clone the multi level objects??
    When i use json.parse/stringfy functions inside the objects are missing...
    Can anyone tell best way to clone?

  • @reactm
    @reactm 3 ปีที่แล้ว

    How do you get auto suggestions while writing code in Vscode .

    • @JamesQQuick
      @JamesQQuick  3 ปีที่แล้ว +1

      I just use the built in intellisense. If I'm working in a JavaScript file, it gives the recommendations.

  • @achtube85
    @achtube85 3 ปีที่แล้ว

    Yey! I am in for the JS challenges 🦄

  • @noopurp123
    @noopurp123 3 ปีที่แล้ว

    Nice video. Can you also do a video on Symbol and its uses in Javascript? Thanks...

  • @skatyan
    @skatyan 3 ปีที่แล้ว +2

    Got to know about this the tough way when i just started working as a web developer, i assumed spread op make a true copy and had to deal with a very frustrating debug session 😭

    • @JamesQQuick
      @JamesQQuick  3 ปีที่แล้ว +2

      Yep. I've seen lots of people make this mistake which is why I did the video :)

  • @sparklite1015
    @sparklite1015 3 ปีที่แล้ว +1

    I am having a problem in HTML .
    Image is not showing/loading in Browser
    (Firefox) when html file is opened.
    I want image as background.
    My html file is in folder in D: drive and my image is in F: drive. I am using VS CODE
    (system setup).

    • @sparklite1015
      @sparklite1015 3 ปีที่แล้ว +1

      Can anyone solve this problem

    • @sparklite1015
      @sparklite1015 3 ปีที่แล้ว +1

      @@user-vl6xf7mp6m Is there any way to use different drives for webspace?

  • @betonkoca
    @betonkoca 3 ปีที่แล้ว +1

    deep copy - shallow copy if we use the right terms

  • @gmkhussain
    @gmkhussain 3 ปีที่แล้ว +9

    JS is easy for 2 people. One who knows JS actually & other one who just know JS is easy. 😂

  • @chhavimanichoubey9437
    @chhavimanichoubey9437 3 ปีที่แล้ว

    just learnt ... now i know main takeaway about this

  • @rickharold7884
    @rickharold7884 ปีที่แล้ว

    Hmmm good info.

  • @LeonardoOliveira-ko1rf
    @LeonardoOliveira-ko1rf 3 ปีที่แล้ว +1

    I just understood a bug that I faced a few days ago

  • @vinayrwt
    @vinayrwt 3 ปีที่แล้ว +2

    Great video 🆒

  • @Apprenticer
    @Apprenticer 2 ปีที่แล้ว +1

    So I will be the 3rd who asks the same question. What vs theme do you use? So will you answer now?

  • @saivivekravi6637
    @saivivekravi6637 3 ปีที่แล้ว +1

    Which vscode theme are you using I like it can you mention name

  • @torbenbuck380
    @torbenbuck380 2 ปีที่แล้ว

    Uh, JS doesn't copy an array if you'd do:
    names = ['James', 'Jess', 'Lily', 'Sevi'];
    copyNames = names;
    ?
    It's just pointing to 'names'?
    Or did you just use that to explain how it works?

    • @kristofferjohansson3768
      @kristofferjohansson3768 2 ปีที่แล้ว

      You forgot the spread part. Your example is not same as in the video.

    • @torbenbuck380
      @torbenbuck380 2 ปีที่แล้ว

      @@kristofferjohansson3768 I think you didn't expand the comment 🤔
      I asked if this is isn't copying an array (and pointing to it instead)

    • @kristofferjohansson3768
      @kristofferjohansson3768 2 ปีที่แล้ว

      Torrent, I missed your intention. Yes b[]…a[] creates a pointer. Only basic types are copied in JS.

    • @torbenbuck380
      @torbenbuck380 2 ปีที่แล้ว

      @@kristofferjohansson3768 I just tried it in a console (I wrote the other comments on a phone).
      Damn, didn't know that. Weird that I didn't trip over this already.
      names = ['James', 'Jess', 'Lily', 'Sevi'];
      copyNames = names;
      copyNames[0] = 'Billy'
      copyNames
      > (4) ["Billy", "Jess", "Lily", "Sevi"]
      names
      > (4) ["Billy", "Jess", "Lily", "Sevi"]

  • @RoboticsDevelopment
    @RoboticsDevelopment 9 หลายเดือนก่อน

    wakka quokka

  • @fmdj
    @fmdj 3 ปีที่แล้ว +1

    Yeah like it's kinda why it's called a spread operator, not a deep-copy operator. Funny, the thought this behavior could cause issue to someone never crossed my mind.

    • @JamesQQuick
      @JamesQQuick  3 ปีที่แล้ว

      Well, I've seen it cause many problems for many people. Hence, the video

  • @RaselAhmed-sb5xx
    @RaselAhmed-sb5xx 3 ปีที่แล้ว +1

    I love javascript

  • @zloy_ax8496
    @zloy_ax8496 3 ปีที่แล้ว

    +++

  • @GG-uz8us
    @GG-uz8us 2 ปีที่แล้ว

    Same as with python.

  • @anthonywanjala678
    @anthonywanjala678 2 ปีที่แล้ว

    //THANKS FOR THE VIDEO SIR..
    //WHY DOES IT NOT WORK SIR... THE WAY I WANT SIR?..😢😢
    var marks={'ENGLISH':'','MATHEMATICS':'','CHEMISTRY':'','BIOLOGY':'','PHYSICS':'','GEOGRAPHY':'','HISTORY':''}
    function enter(_subjectt, maks){
    let makss={...marks, _subjectt:maks}
    console.log(makss)
    }
    enter('ENGLISH','34')

  • @dvdrtrgn
    @dvdrtrgn 2 ปีที่แล้ว

    The code hints that keep popping up... it’s just way too much.

  • @rl6382
    @rl6382 11 หลายเดือนก่อน

    Fantastic video

    • @JamesQQuick
      @JamesQQuick  11 หลายเดือนก่อน +1

      Thank you so much!