A quick video detailing how destructuring works with nested objects and arrays. Check out my ES6.io course for more!
Пікірлер: 117
@JohannesBrodwall6 жыл бұрын
Wow! The most productive minutes I've spent all month. Thanks! 😀
@shafiq_ramli8 ай бұрын
Can't believe now I get how nested object destructuring works! Reading the doc on MDN confuse the heck out of me because they didn't mention that the parent variable becomes undefined when destructuring its child object property. Good stuff 👍🏻👍🏻
@jasdn93bsad9926 жыл бұрын
3:29 destructure deeper 7:29 destructure array
@MyDutchproductions4 жыл бұрын
I needed this... Honestly I still need it, but I wish I had found these videos before writing an insane loop.
@moosecouture16 жыл бұрын
This is also great when you combine it with Spread, Rest. Makes everything a lot cleaner
@kabirstetson50963 жыл бұрын
instablaster...
@javascriptwar95254 жыл бұрын
I was also facing this nested problems ... but from tomorrow no complain no demand Thankyou very much sir..🙌
@KuroiKyu6 жыл бұрын
Thanks Wes! Even when I think I know the topic I end up learning something
@manuelzamorano2580 Жыл бұрын
Thank you! I was so confused until I found this.
@notthere836 жыл бұрын
I think it would've been great had you pointed out that one can of course write destructuring constructs across multiple lines. Because if you destructure nested objects and you write the destructuring the same way that you would write the object if you were to create it, it becomes very clear and easy to read.
@beingian3 жыл бұрын
You are amazing! i come back here at least once a week
@lpdrummerboy Жыл бұрын
Exactly what I was looking for. Thanks!
@vincentiusherie2 жыл бұрын
Never thought this is possible. Crazy.
@Shubham-jr8nc5 жыл бұрын
Best Explanation by An Advanced Teacher
@benyamin46342 жыл бұрын
cool tutorial so straightforward
@jessereyes-cortes1194 Жыл бұрын
Been using this technique for years... I finally know what the definition is haha
@Opyext2 жыл бұрын
this was very handy for me, thanks so much
@devincustodio22586 жыл бұрын
Seems like sacrificing readability at the expense of compactness.
@conoroflanagan29086 жыл бұрын
Devin Custodio true, me and a colleague were tripped up on variables of similar names + 2 helpings of destructing.
@devincustodio22586 жыл бұрын
Cono 52 but what do I know. I just have a degree in computer science. I'm not qualified at all to talk about this. 😂
@adrianli77576 жыл бұрын
As someone with industry experience, I agree completely. Write code for others to read and understand, not for yourself to feel good about it.
@nazarm62155 жыл бұрын
At some point you are going to have to learn and move on, otherwise readable code means you'll end up with stagnant progress in technological innovation.
@cardbored_2 жыл бұрын
@@devincustodio2258 as someone with 20 years professional experience as a software engineer and now the director of the department at the agency I’m with, I’ve met many engineers with CS degrees who were half the programmer of some self taught developers. A degree doesn’t necessarily automatically mean someone is qualified in a real world position.
@erichepperlewp2 жыл бұрын
Nested destructuring...wow! SUBSCRIBED
@zdarofMERGAITES3 жыл бұрын
Very well explained topic.
@longtimedeveloper649811 ай бұрын
Thank you. I was immediately successful. Thank you!
@alan6142 жыл бұрын
This was great! Thanks for this Wes!
@TiagoSalemaG6 жыл бұрын
Uaaau here I was all confused about this black magic fuckery just to find out it's actually rather simple and useful after watching this video. Kudos to Wes! You're the man.
@pavanrao29653 жыл бұрын
The most helpful video ever.period
@emerson00016 жыл бұрын
I'm testing this out on console in the same window as I'm watching the video. I love how simple and neat this is. - I was wondering how I could back up a level to get a parent of something already destructed. Kind of dummie, but if any else is wondering: *var data = { foo: { bar: 1 } };* Say we want to get to *bar* but still want *foo* to be available: *const { foo, foo: { bar } } = data;* *> foo* _{bar: 1}_ *> bar* _1_
@Afewwilliams6 жыл бұрын
You're a legend Wes, thanks for all your effort 👍
@MBehtemam6 жыл бұрын
Wow , Really Really amazing point that you mention , I love the way and I want to use it in my daily projects
@pratik666136 жыл бұрын
This is really useful. Thanks a ton Wes!
@writeandcodetime5 жыл бұрын
I certainly learnt a thing or two :) You are an amazing teacher. Thanks you
@raymonweave71575 жыл бұрын
Great video, well explained and loved to watch it!
@rayraboypamisa13885 жыл бұрын
Wes, How can I map through that nested array?
@jordanpio29453 жыл бұрын
Extremely helpful!!!
@sergiyrudenko9054 жыл бұрын
Nice, really nice. Thanks Wes!
@nikicamaksimovski99646 жыл бұрын
I did not understand quite well how it helps in the example of react when you have to pass like 10 items as props.You will still have 10 lines of code.Any explanation ?
@shaunakthakar30262 жыл бұрын
Great Video. Have been looking for this. Can someone help me with this question. How can i just pull only name from the items in the array. I don't need the other data just all the names inside the array.
@mparikshit5 жыл бұрын
Just Superb :). I love the way you explained with super energy :)
@jordandoucet68872 жыл бұрын
This is super helpful 🙏
@boulderdennis6 жыл бұрын
Thanks Wes. One question. Are Canadian shoes normal or weird or something else?
@UliTroyo5 жыл бұрын
They're polite shoes!
@magdasokolovic3 жыл бұрын
great video. Love your enthusiasm :)
@batuhankir84022 жыл бұрын
how can u make a table with all keys end values
@Dan-codes2 жыл бұрын
Thank you.
@hsngsoftware43803 жыл бұрын
How to get only second element in the array ?
@fikrisidqi71153 жыл бұрын
Great video, love it. Thank you sir!
@redbeardhomes Жыл бұрын
Can you show how to render these nested objects into a table? I am easily able to console.log those items but I am struggling with the display of the tables. I can't use the map() function.
@BowlineDandy6 жыл бұрын
Would be nice if that nested destructuring worked on imports specifically when importing json since Webpack can now tree shake those
@Souravbaranwal5 жыл бұрын
This was very helpful. Thanks a lot.
@Dethstrat5 жыл бұрын
Wow. That was fantastic. Thank you
@alirezamousavi79396 жыл бұрын
That was a great video. very useful. thanks bro.
@denns0r Жыл бұрын
Although this is kind of cool, there are two things to consider: readabily is quite poor (which is my subjective opinion) but VERY IMPORTANT: THERE IS NO HANDLING OF UNDEFINED / FALLBACK VALUES. If you destructure only one level deep, you will get no errors if something is undefined, instead you can test it in ongoing code. When trying to destructure from undefined, you will get an error. So when working with uncertain data, like from an api, i would highly recommend NOT to do use deep nested destructuring!
@sreenivasulugattu29364 жыл бұрын
Thanks for the useful one. what if object is nested very deeply ? i mean more than 10 items deeper ??
@Jay-eg7yt5 жыл бұрын
Love the display. Especially how the attributes are in italics. Which them are you using?
@rs140586 жыл бұрын
This is super helpfull Wes!! 😎👍 thanks for sharing!
@vaasudhand32003 жыл бұрын
How do I rename the item1 and item2 variables?
@3ombieautopilot6 жыл бұрын
And we can also provide a default value for keys that are missing.
@jaydeepkarena6 жыл бұрын
really good explanation 🎉
@kamalpanhwar44876 жыл бұрын
Your font in editor is great, what is name of that font and color scheme? as I searched many but nothing resembling this font typeface.
@UliTroyo5 жыл бұрын
I just found it on Wes's blog; it's Operator Mono, but it's $200.
@julianklumpers6 жыл бұрын
You can even omit properties/keys with rest spread and destructering. const { status, ...rest } = makeItem() Rest now only contains data.
@Nemcoification5 жыл бұрын
Just in case anyone's wondering, the same is true for arrays like: const [ status, ...rest ] = makeItem(); Arrays have the added benefit of just being able to skip the variable entirely by just doing const [ , ...rest ] = makeItem();.
@imhappynow84714 жыл бұрын
thank you
@dragannovakovic98166 жыл бұрын
5:15 a Wild render prop Appears xD
@WesBos6 жыл бұрын
@GiovanniOrlandoi76 жыл бұрын
This is great. Thank you!
@narwhalboobs6 жыл бұрын
Hey Wes, I was wondering what Visual Studio Code plugin you're using to display comments and attributes in a different font.
@WesBos6 жыл бұрын
I wrote a bit of info here → wesbos.com/uses
@AbhishekKumar-mq1tt6 жыл бұрын
Thank u for this awesome video
@amabenuzoe2503 жыл бұрын
Thanks Wes. I've been trying to send nested form input values using the window.fetch API, do I destructure the inputs or just send the form values as is?
i am having difficulty destructuring this array I want output as R8 below is array var obj = [ { title: "buy meal", isDone: false, }, { title: "come office on time", isDone: false, }, { title: [ "BMW", [ { id: 01, name: "R8" }, { id: 02, name: "r7" }, ], "maruti", ], isDone: true, }, ]; can you help me?
@hitheshkaverappa86344 жыл бұрын
What if i need 2nd element of array (item2)
@sundarraaj2944 Жыл бұрын
How to add an object to a nested array of objects dynamically using distinct properties of an object
@egougwu11235 жыл бұрын
how do u destructure into a variable please?
@lynxlagoon3 жыл бұрын
dude, thanks
@sumantkanala6 жыл бұрын
You go Wes!
@gauravdawg5 жыл бұрын
can you suggest some good plugin for formatting the JSX code in VSCode ? I have components within components and each component have their own props, its such a waste of time manually pressing tab to fix the formatting to improve readability
@JosephChambers6 жыл бұрын
Thanks Wes!
@SinaGilassi4 жыл бұрын
Cool!
@dan-32685 жыл бұрын
Beautiful ❤️
@duckhorse25634 жыл бұрын
Asante.
@alialqahtani78416 жыл бұрын
good video thanks Wes Bos
@sagiriizumi82846 жыл бұрын
Thanks! :)
@simonkalu5 жыл бұрын
True Bos
@JoeWong815 жыл бұрын
thanks bro
@kissu_io6 жыл бұрын
Siiiiiiick video, sick sick sick. 💪🏻
@navinkandpal67672 жыл бұрын
Good 👍
@WebDevProfesh6 жыл бұрын
Is there a way to only destructure the second item in an array, without destructuring the first?
@abdulazizalabodi6 жыл бұрын
yes, arrays are just objects in js. so you could do const {1:s2}= [1,2,3]
@WesBos6 жыл бұрын
const [,secondItem] = someArray;
@davlewis20116 жыл бұрын
So if I wanted the like the 10th index, I’d have to put 9 ‘, ‘ and then my variable?
@abdulazizalabodi6 жыл бұрын
no look at my answer.
@CoryTheSimmons6 жыл бұрын
Really cool Abdulaziz, thanks.
@philipdegendt563 жыл бұрын
Super 👍👌
@alexpro56702 жыл бұрын
Деструктуризация объектов и массивов
@germantoenglish898 Жыл бұрын
If the parent is an array with a nested object or visa versa and their children are arrays nested in objects or visa versa, it can all be so overwhelming and confusing.
@augischadiegils.5109 Жыл бұрын
cool 😎
@teenytinytoons3 жыл бұрын
You may have to play this video at half the speed.
@justinoneill28376 жыл бұрын
Hi Wes, thanks a ton for this breakdown. I've still got a little confusion on how you make multiple variables from the same function and/or data set? For example, let's say I wanted to make *4 different variables* from the *makeItem()* function... how could I do that w/ out having to make *4 different makeItem()* functions? I put together a codepen here: codepen.io/oneezy/pen/VXWLXa?editors=0011
@moosecouture16 жыл бұрын
I do not see where your codepen is showing any changes... but if I understand your question... if it is like what is being shown here with destructuring... you could pass it an array and destructure the array `const [ one, two, three, four ] = [makeItem(), makeItem(), makeItem(), makeItem()]` Otherwise I do not know how it falls into the scope of this quick tutorial.
@ethanstewart89576 жыл бұрын
Not sure I fully understand the question. Are you talking about having data, item, etc. also be variables when you're four levels deep?