Top 10 Javascript One Liners YOU MUST KNOW!

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

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

  • @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 Год назад

      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.

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

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

  • @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.

  • @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 3 месяца назад

      but you aint gorgeous

  • @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 😀😎

  • @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

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

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

  • @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.

  • @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.

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

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

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

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

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

    That color generator is awesome!! Tyvm!

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

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

  • @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.

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

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

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

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

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

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

  • @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!

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

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

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

    The random color hex thing blew my mind!

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

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

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

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

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

    // SuerySelector ..............................................
    function Selector(selector) {return document.querySelector(selector)}
    // QuerySelectorAll ..............................................
    function SelectorAll(selector) {return document.querySelectorAll(selector)}
    With this code, you can call any element in an easy and short way
    Example:
    let Element = Selector('Target_Element') // return Element
    or
    let Element = SelectorAll('Target_Element') // Return Array Of Element

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

    transitionend is amazing thank you

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

    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

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

    i love your music taste, super chill

  • @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!

  • @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.

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

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

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

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

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

    thanks for the tutorial Ed Helms.

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

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

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

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

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

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

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

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

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

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

  • @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

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

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

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

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

  • @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🌺❤️❤️

  • @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.

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

    For merging arrays, concat is easier to read.

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

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

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

    JSON.stringify(data,null,2)

  • @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

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

    Cool! I like the screen capturing

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

    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

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

    What is the lens you used for recording this video?

  • @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 10 месяцев назад

      @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.

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

    Very useful thanks for sharing

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

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

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

    thank you for this video, you are awesome!!

  • @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

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

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

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

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

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

    designMode extremely blows my mind. Great content !

  • @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

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

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

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

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

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

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

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

    What's you display brand & model?

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

    The designmode one is super helpful while designing sites

  • @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

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

    what is your monitor please?

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

    Technically you can do anything in one line in JavaScript xD

    • @BlackHayateMX
      @BlackHayateMX 10 дней назад

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

  • @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

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

    Can you make a web3 tutorial?

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

    Grateful for this video 🤝

  • @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 .

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

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

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

    Thank You Ed This Is Realy Amazing

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

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

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

    I like the console.table command.

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

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

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

    You remind me of the guy in Camera Conspiracies

  • @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

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

    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

  • @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

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

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

  • @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 🙏🏻

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

    thank you very much 🙌

  • @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...

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

    These are handy one liners, but it worth pointing out most of them are using the web API, not pure JavaScript. 😅

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

    #4 is called "destructuring," not "extraction."

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

    Ur my best teacher 💜

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

    Isn't it better to add .padStart(6, '0') to the fifth oneliner? I mean, if u have generated a number less than 0x100000, it would have less than six digits and you need to add zeros into first registers.

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

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

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

    Love your energy 👍

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

    This man a little dr crazy looking . Dude thank you.

  • @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 :)

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

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

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

    I wish I'd known about transitionend a few months ago...

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

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

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

    This is a good one.

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

    Love the new video quality 😍😁

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

    Really good video ❤

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

    Always good content, you're the best

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

    Are your courses up-to-date? Seems people complaining in the comment section of the javascript course that the links to the course files are not working anymore including html and css. That's why I haven't enrolled.