Top 10 Javascript One Liners YOU MUST KNOW!

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии • 240

  • @eduardointech
    @eduardointech 9 месяцев назад +1

    With the first video, the CSS one, you got my like and save, with this second one you got my like and subscribe!

  • @codegenius2932
    @codegenius2932 2 года назад +108

    I think what you were calling extraction is actually called destructuring (like it's proper term). Nice video, definitely learnt something new

    • @simonjanca
      @simonjanca 2 года назад +2

      Yes that's it. Destructuring works for objects attributes OR even positional properties of Array with Const keyword
      const [first, second] = [1,2]
      const {f, s} = {f:1, s:2}

    • @cipherxen2
      @cipherxen2 2 года назад

      Who gets to decide which is term is proper and which is not?

    • @anarchoyeasty3908
      @anarchoyeasty3908 2 года назад +6

      @@cipherxen2 the language spec?

    • @cipherxen2
      @cipherxen2 2 года назад

      @@anarchoyeasty3908 language specs are not written in stone, they also change

    • @anarchoyeasty3908
      @anarchoyeasty3908 2 года назад +6

      @@cipherxen2 ok let me know when it changes from calling it destructuring and this comment thread will become irrelevant. Until such a time as that occurs, the thing is called destructuring.

  • @lainverse
    @lainverse 2 года назад +9

    3:37 I'd like to add that it's worth remembering that using spread operator on arrays have iteration cost attached to it, so the larger the array the slower this works. So, if your code is called many times over it's better to merge arrays in traditional way by pushing elements of one into another. It doesn't matter on small arrays, but on actually large ones (thousands of items) this may cause a noticeable lag.
    6:33 6-digit hexadecimal number. In decimal (default representation in console) it can go up to 8 digits. ;)

    • @CottidaeSEA
      @CottidaeSEA 2 года назад

      Another approach is to have a third array that is updated at the same time as the other two. The downside would be that it has to search for the entries, but if using a map, that can be solved through using proper keys.

  • @matet12345
    @matet12345 2 года назад +69

    Always amazing to be greeted as "gorgeous" 😅😁

    • @bm2085
      @bm2085 2 года назад +1

      With all due respect, I thought you're already fed up with it. You must be called gorgeous all the time... :$

    • @elfelipe1996
      @elfelipe1996 2 года назад +1

      Damn, people are now hitting on girls on RUclips nowadays. What a time to be alive

    • @bm2085
      @bm2085 2 года назад

      @@elfelipe1996 Absolutely not, just stated the obvious!

    • @ManicMonkey1987
      @ManicMonkey1987 2 года назад

      Yeah, this guy is a smoothie

    • @CodeWithUjval
      @CodeWithUjval 4 месяца назад

      but you aint gorgeous

  • @KGmagicjj
    @KGmagicjj 2 года назад +5

    This is a nice list, but I would strongly recommend w this being a teaching channel, to mention the technical name of some of these patterns and operators as you go. Spread operator, object destructuring syntax, guard blocks, etc.

  • @EmmaKAlexandra
    @EmmaKAlexandra 2 года назад +2

    I've always called the "one line if" a guard statement, or a guard if statement. Helps a ton with nesting.

    • @bansh3ee
      @bansh3ee 2 года назад

      "guard statement" is a proper term for the thing as well

  • @boneykingofsomewhere
    @boneykingofsomewhere 2 года назад +10

    I created a random background-color generator with copy-to-clipboard inside a hex code div (the hex code shows inside the div).
    Click the button to generate a random colour and if you like it, click the hex field div to copy it. Great little video that has definitely improved my abilities and knowledge, ta Ed 😀😎

  • @trickeddev
    @trickeddev 2 года назад +4

    Array.from(new Set([…..])) is much cleaner than what you did and is the preferred way btw

  • @jaied
    @jaied 2 года назад +4

    Cool!
    Although I knew most of these one-liners. Only DesignMode and transitioned events are new to me.
    Thanks for sharing.

  • @7heMech
    @7heMech 2 года назад

    The only thing which I didn't know was 5:01, but it's good to revisit things once in a while, great video!

  • @justusmaier
    @justusmaier 2 года назад +1

    8. is actually called a Guard Clause, very useful to avoid nested if statements!

  • @malyarevich
    @malyarevich 2 года назад +1

    0:47 Design Mode - awesome feature, I like it!
    Almost all rest poor, because it is something like part of ECMA standards.
    Also last one looks impressive.
    Good job, man, anyway! Thank you!

  •  2 года назад +1

    did he just say "g" when going through the hexadecimal characters at 7:20 lmao

  • @AlphaWatt
    @AlphaWatt 2 года назад

    That color generator is awesome!! Tyvm!

  • @Stl71
    @Stl71 2 года назад

    You are a developer and a successful youtuber, but from the outlook, you could be an actor too. No joke.

  • @kevinvz5387
    @kevinvz5387 2 года назад

    i love your music taste, super chill

  • @greenwaldian
    @greenwaldian 2 года назад +1

    I legit thought this was gonna be a video about Javascript jokes

  • @ekoneko6958
    @ekoneko6958 10 месяцев назад

    After CSS one-liners, now this = New Subscriber here :)

  • @DiestroCorleone
    @DiestroCorleone 2 года назад

    We love you, Ed. Just wanted to let you know that.

  • @cipriancozma2783
    @cipriancozma2783 2 года назад

    Really nice video, Ed!

  • @ribasenric
    @ribasenric Год назад

    Cool tricks!
    Fun fact: You can make `const copy = (text) => navigator.clipboard.write(text)` even shorter
    `const copy = navigator.clipboard.write`
    no need to wrap in another function that takes text and passes text to it.

  • @Raju917707
    @Raju917707 2 года назад

    Thanks a lot bro. awaiting for more videos from you.

  • @4Sightfails
    @4Sightfails 2 года назад

    Very fun video, it brings me joy that I knew almost 5 of them.

  • @jaiderariza1292
    @jaiderariza1292 2 года назад

    `console.table(data)` at 11:45 very useful tip!

  • @lewisone
    @lewisone Год назад

    Dude. The random hex was super clever. My favorite new trick.

  • @jacquesduplessis6175
    @jacquesduplessis6175 2 года назад

    Ed called me friend👌🏻 Life complete, haha,
    These videos are actually golden, keep it up

  • @reflectivereveriemingle
    @reflectivereveriemingle 2 года назад

    I will make a shortcut of this video to my desktop. Thanks Ed.

  • @gokulk2060
    @gokulk2060 2 года назад

    Cool! I like the screen capturing

  • @antoniovm7116
    @antoniovm7116 2 года назад

    Nice video, I like the way you explain. Nice work dude.

  • @protopan7722
    @protopan7722 2 года назад

    Love the new video quality 😍😁

  • @Pfoffie
    @Pfoffie 2 года назад +2

    Doesn't generate colors have an issues with missing leading zeroes in numbers less than 0x100000?

  • @alvarocastillocorrea2610
    @alvarocastillocorrea2610 2 года назад

    This is really great! Thanks for this content Ed! 🚀

  • @colindante5164
    @colindante5164 Год назад

    Could anyone please explain where the duration was set for the button to fade out before being transitioned to a display of none? (Transitionend 8:47) Thankyou

  • @yoel.taylor
    @yoel.taylor 2 года назад +3

    Super important to note that the Navigator.Clipboard API only works locally or in HTTPS. So if you want to make an insecure HTTP website, copying text won't work!

    • @skillzorskillsson8228
      @skillzorskillsson8228 2 года назад +1

      I guess that explains why it was not working for me on codepen. Sure, codepen does use HTTPS but i guess it has something to do with it... Because it is not working at all on codepen

    • @hithankyou123
      @hithankyou123 2 года назад

      Why is that super important you nerd

    • @tbuk8350
      @tbuk8350 2 года назад +1

      This is definitely important, but it's also 2022, there are no excuses to not have an SSL certificate on your website.

  • @shrishailgharat1964
    @shrishailgharat1964 2 года назад

    Grateful for this video 🤝

  • @nclsDesign
    @nclsDesign 2 года назад +1

    9:22 or you just set the visibility to hidden aswell. This will not transition by itself, so you'll still need opacity, but it will change the value once the transition is done.

    • @parsonsmarcus
      @parsonsmarcus 2 года назад

      Setting visibility to hidden will disable pointer events on the element, but other elements in the DOM will be affected by its positioning (unless it's set to an absolute or fixed position). To keep the element on the page, you should set it to "display: none;" so that way it will not affect the layout of other DOM elements and be removed from visibility.

  • @Motivado-gp
    @Motivado-gp 2 года назад

    designMode extremely blows my mind. Great content !

  • @jomoc6112
    @jomoc6112 2 года назад

    aspiring fan here... i allready new this, but i kinda forgot the other so thanks for the reminder

  • @bilalbeny4172
    @bilalbeny4172 Год назад

    thank you for this video, you are awesome!!

  • @NNNedlog
    @NNNedlog 2 года назад +1

    Your tutorials are always so engaging and easy to follow 🔥🔥🔥

  • @mohammedelhoussni
    @mohammedelhoussni 2 года назад

    Thank You Ed This Is Realy Amazing

  • @injSrc
    @injSrc 2 года назад +1

    Really coool video 🔥🔥🔥
    Cool setup as well 😊
    By the way, please tell me the model of your monitor, it looks dope

  • @san4os94
    @san4os94 2 года назад

    thanks for the tutorial Ed Helms.

  • @qodesmith520
    @qodesmith520 2 года назад

    The random color hex thing blew my mind!

  • @michastolarczyk7228
    @michastolarczyk7228 2 года назад

    What is the lens you used for recording this video?

  • @djpunisha29
    @djpunisha29 2 года назад

    this man is pure positive energy, lovely human being :)

  • @Migler1
    @Migler1 2 года назад +1

    What vscode theme are you using in this video?

    • @Mwtorres89
      @Mwtorres89 2 года назад +1

      he claims to be using the palenight theme, but here hes using the Community material theme ocean high contrast... you're welcome

    • @Migler1
      @Migler1 2 года назад

      @@Mwtorres89 thanks 🙏🏻

  • @petrvalenta8835
    @petrvalenta8835 2 года назад

    Very nice vid Ed! 🚀 That monitor at the beginning, is it Dell? Can you tell me the type? 😊 Cheers!

  • @theyreMineralsMarie
    @theyreMineralsMarie 2 года назад

    2:45 you aren't merging two arrays, what you're doing is concatenation. Merging two arrays is more like a zip operation.
    Loop over one and and use the current index to get the corresponding element in the other array, then combine both values as a tuple, or whatever structure you need.

  • @nekotoriy
    @nekotoriy 2 года назад +1

    Thanks! By the way, what is theme color name ?

  • @slipstream01
    @slipstream01 2 года назад

    Ed can u please tell mr what monitor are you using? Looks amazing.

  • @michelebevilacqua8652
    @michelebevilacqua8652 2 года назад

    Always good content, you're the best

  • @chiptunesfreemusic5040
    @chiptunesfreemusic5040 2 года назад

    Gracias querido por estos tips; hace mucho no programaba ni lo más mínimo en js y me voy desactualizando, pero aquí aprendí nuevas funciones y demás

  • @bonganintshangase6051
    @bonganintshangase6051 2 года назад +1

    The design mode one was very helpful, the rest are also helpful but it's just regular es6 stuff.

  • @stepone3040
    @stepone3040 2 года назад

    Hello plz I m looking for a function or whatever that can help me find list of printers installed on my machine. Thanks lot for your videos

  • @mihaimanole2643
    @mihaimanole2643 2 года назад

    6:16 Why do you exclude the pure white? Isn’t it a colour too? Multiply by 0x1000000 to have the chance to get 0xffffff

  • @bassilmohammad7266
    @bassilmohammad7266 2 года назад +1

    Hi ed .
    I wont to ask you from were you have learned data structure and algorithm?
    Thank you ed for your courses🌺❤️❤️

  • @AlekVila
    @AlekVila 6 месяцев назад

    concat() is another way to merge arrays: arr1.concat(arr2);
    Retaining only unique values: [...new Set(arr1.concat(arr2))];

  • @ITGirlll
    @ITGirlll 2 года назад

    That merge one liner is great is for interviews

  • @robertn2997
    @robertn2997 2 года назад +2

    Nice video, Blender in combination with Babylon js would be awesome. Not many people make tutorials about Babylon js while it is a great 3D engine for in the browser

  • @migats2160
    @migats2160 Год назад

    7:51 that doesn't work. Because if the first digits are zeros, it will have a different behavior. That's why you need to add 1000000 to it and then replace the first 1 with a hashtag.

    • @migats2160
      @migats2160 Год назад

      With 1000000 I actually mean 16777216. I was writing it in hexadecimal.

  • @khan.hassan
    @khan.hassan 2 года назад

    Very useful thanks for sharing

  • @thatsenoughdixit
    @thatsenoughdixit Год назад

    Really good video ❤

  • @Mwtorres89
    @Mwtorres89 2 года назад +1

    he claims to be using the palenight theme, but here hes using the Community material theme ocean high contrast... you're welcome

  • @mdsunyshaikh
    @mdsunyshaikh 2 года назад

    What's you display brand & model?

  • @asafhagbi3638
    @asafhagbi3638 2 года назад

    Love your energy 👍

  • @strawhat1927
    @strawhat1927 3 месяца назад

    transitionend is amazing thank you

  • @streamx2
    @streamx2 2 года назад

    what is your monitor please?

  • @Pacvalham
    @Pacvalham 2 года назад

    14:07 How about an error or exception?

  • @syedabuthahirkaz
    @syedabuthahirkaz Год назад

    7:50 Code won't work for final zeroes which may be left out in the string conversion, so taking care of these edge cases the correct code is : const generateRandomColor = _ => `#${Math.floor(Math.random() * 0xffffff).toString(16)}`.padEnd(7,'0')

    • @kpm25
      @kpm25 11 месяцев назад

      @syedabuthahirkaz... Actually, the correct implementation should be:
      `#${Math.floor(Math.random() * 0xffffff).toString(16).padStart(6, '0')}`;
      This handles the edge cases of six-digit hexadecimal numbers with leading zeros, such as 00aabb. Using .padEnd(6, '0') would add zeros as trailing zeros, potentially excluding certain numbers from being picked. Conversely, .padEnd(7, '0') would shift all digits one place to the left, resulting in the most significant digit being discarded. This ensures a more accurate and comprehensive random color generation.

  • @wfl-junior
    @wfl-junior 2 года назад +5

    Technically you can do anything in one line in JavaScript xD

    • @BlackHayateMX
      @BlackHayateMX Месяц назад

      I did that for a test and my teacher wasn't very pleased, but I got my passing grade

  • @IhorVyshniakov
    @IhorVyshniakov 2 года назад

    It's short just fiery content!!!
    Thanks for this hacks 😉

  • @eitherplace9844
    @eitherplace9844 10 месяцев назад

    Well there is a better option for single line if to only run if not null using ?? operator known as null coalescing operator. However it is best to use for value assignment, similar to ternary operator

  • @serkan_bayram
    @serkan_bayram 2 года назад

    Hey man, you're videos great as always, do you consider making a video about javascript road map?

  • @azzaisme
    @azzaisme 2 года назад

    The extraction is very useful for any Async call

    • @TrevinAvery
      @TrevinAvery 2 года назад

      The official name is destructuring, just in case you want to look it up

  • @damianos.2954
    @damianos.2954 2 года назад

    You're crazy. I love u💚( as instructor)😅💪💪💪

  • @_the_one_1
    @_the_one_1 2 года назад

    Awesome! I knew all of them but what was the last one? Didn't know about it

  • @pouriyanourouznejad7090
    @pouriyanourouznejad7090 2 года назад

    Ur my best teacher 💜

  • @v324s7
    @v324s7 2 года назад

    Hi, how are you? I have a question. How to implement animation in Figma on the web-site? I can't find a solution on the internet

  • @chethiyakd
    @chethiyakd 2 года назад

    Man transitionend will save me tons of time!!!!

  • @beans_dev
    @beans_dev 2 года назад +2

    I don’t know how many years Ed has been calling me a gorgeous friend on the internet 😂

  • @michaelhofby
    @michaelhofby 2 года назад

    Hey ED :) ! I saw in one of your other video that you had a vs code theme with a gradient up in the title bar in one of your recent videos and i thought it looked SO cool that i figured out how to do it myself :D ... But now you dont have it anymore i see .

    • @michaelhofby
      @michaelhofby 2 года назад

      i used the "Custom CSS and JS loader" vs code extension and then custom CSS to color the different elements of vs code :)

    • @michaelhofby
      @michaelhofby 2 года назад

      I cant post a screenshot of my vs code .. Cuz youtube deletes the comment but yeah , could be cool to see a video on that .

  • @guitarplayer1434
    @guitarplayer1434 2 года назад

    the 70's prono music in the background makes the video

  • @keithhill3034
    @keithhill3034 2 года назад

    👍 great content - thanks so much !
    👍 no floating presenter head
    👍 video and audio quality
    👍 larger ide font size
    👎 (imho) loud, distracting "music"

  • @NorrothRPG
    @NorrothRPG 2 года назад

    Nice video! :D Maybe name the "roll the dice" to "flip the coin" since you made it just 2 sided hehe 😜 But keep up the good work nonetheless

  • @cloudsystem3740
    @cloudsystem3740 2 года назад

    thank you very much 🙌

  • @pietraderdetective8953
    @pietraderdetective8953 Год назад

    console.table is super cool!!
    More videos like this please

  • @x_y_e_n
    @x_y_e_n 2 года назад +1

    navigation.clipboard api only works with secure connection and local host not with http

  • @vcothur7
    @vcothur7 2 года назад

    The designmode one is super helpful while designing sites

  • @sunflowertoadtheorbiter7420
    @sunflowertoadtheorbiter7420 2 года назад +2

    JSON.stringify(data,null,2)

  • @fern9890
    @fern9890 2 года назад

    Can you make a web3 tutorial?

  • @indriq78
    @indriq78 2 года назад

    Why anonymous fat arrow function as a variable instead of a "normal" function with a name? It's a strange trend nowadays. It makes sense only if 'this' needs to be bound (or maybe to avoid hoisting but in that case there are bigger problems in the code already) in any other cases a normal function is better. easier to read, it has a name => easier to debug, etc.

    • @alister_
      @alister_ 2 года назад

      Also functions declarations are hoisted. It means you can call them before they are defined to the eyes of the person reading the code. This means you can somewhat handle the order of reading based of what's more relevant to the reader in order to understand or follow the code.

    • @indriq78
      @indriq78 2 года назад

      @@alister_ exactly. but not everyone likes this kind of order that's why I left it out :)

  • @andrewsharpe4764
    @andrewsharpe4764 8 месяцев назад

    For merging arrays, concat is easier to read.

  • @prathamshenoy9840
    @prathamshenoy9840 2 года назад +1

    You remind me of the guy in Camera Conspiracies

  • @dittoalvarez1126
    @dittoalvarez1126 2 года назад

    deved numbah one 👑

  • @synesthetic2979
    @synesthetic2979 2 года назад

    I like your energy, friend

  • @skillzorskillsson8228
    @skillzorskillsson8228 2 года назад

    Is it only me or anyone else had problem to get the copy to clipboard function to work? i tried on codepen and i write the code exactly the same. It is not working...

  • @mangadi3859
    @mangadi3859 2 года назад

    maybe its better to set the transitionend event inside the click event and set it to once: true

  • @Azamat78726
    @Azamat78726 2 года назад

    Can somebody tell, what is the name of his Vs Code theme ?

  • @HomerJSimpson999
    @HomerJSimpson999 2 года назад

    why do i want to use "const" instead of var here?