What’s new in JavaScript (Google I/O ’19)

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

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

  • @ibrahim47
    @ibrahim47 5 лет назад +223

    private class fields 6:57
    Regex matchAll 9:16
    Numeric literals 10:19
    BigInt formatting 11:50
    flat & flatmap 13:23
    fromEntries 15:28
    Map to Object conversion 16:47
    globalThis 19:18
    Stable sort 20:00
    Intl.RelativeTimeFormat 22:45
    Intl.ListFormat 24:29
    Intl.DateTimeFormat -> formatRange 26:32
    Intl.Locale 27:10
    Top-Level await 28:12
    Promise.allSettled/Promise.any 31:13
    WeakRef 32:30

  • @samirsaeedi74
    @samirsaeedi74 5 лет назад +53

    My favorite talk of I/O. Also kudos to the subtitles team for accurate subtitles (love how they write Node.js every time speakers mention Node)

    • @mathiasbynens
      @mathiasbynens 5 лет назад +36

      I took care of the subtitles :) I want this presentation to be as accessible as possible. Thanks for the kind words!

    • @RimantasLiubertas
      @RimantasLiubertas 4 года назад

      Your favourite teleprompt read, you mean?

  • @markotitel
    @markotitel 5 лет назад +97

    So you two have really practiced this. Really async await.

  • @AmandeepSingh-dt2qc
    @AmandeepSingh-dt2qc 5 лет назад +104

    The Internationalization API looks cool.

    • @shfunky
      @shfunky 5 лет назад +10

      Would be hilarious if they actually left it as " Iñtërnâtiônàlizætiøn " for everybody to type.

    • @brymstoner
      @brymstoner 5 лет назад +1

      @@shfunky Don't give them ideas!

  • @SteveHazel
    @SteveHazel 5 лет назад +25

    i love whats happenin to javascript. from better to even better.

  • @AAA-bo1uo
    @AAA-bo1uo 5 лет назад +56

    I love how IE's compatibility is not even considered! 😂

    • @mathiasbynens
      @mathiasbynens 5 лет назад +9

      Edge is adopting Chromium and V8, so it’ll soon support the same features that Chrome supports.
      This is explicitly mentioned at 00:18.

    • @apifiddle
      @apifiddle 5 лет назад +8

      @@mathiasbynens well, edge is not IE ...

    • @nerdiloo9863
      @nerdiloo9863 5 лет назад +2

      @@apifiddle It's not IE but it's clearly the sign the Microsoft is on board with the idea of developing/maintaining apps once (and not waste time on bloatware for legacy stuff) that should look/run the same everywhere.

    • @user-og9nl5mt1b
      @user-og9nl5mt1b 5 лет назад

      because internet explorer is the worst browser u can have

    • @7alken
      @7alken 5 лет назад

      @@mathiasbynens ...isnt there some joint effort to encourage apple too?

  • @xNReaperx
    @xNReaperx 5 лет назад +13

    This is awesome! Can't wait for Chrome 75

    • @ahmadalfy
      @ahmadalfy 5 лет назад

      It's already out if you use the dev channel :)

  • @evofx
    @evofx 5 лет назад +15

    Love these new features.

    • @alpilatech906
      @alpilatech906 4 года назад

      How about with chrome 85 now is better more than with Chrome 75 can using too?

  • @evolutionxbox
    @evolutionxbox 5 лет назад +28

    Can we add native currying and placeholders, rather than improving "classes"?

    • @vertie2090
      @vertie2090 5 лет назад +1

      that would be awesome but not sure how that would really work, JS is an imperative language

    • @luxsasha
      @luxsasha 5 лет назад

      Currying is a pattern, it exists today, JS is a functional language with TCO

    • @evolutionxbox
      @evolutionxbox 5 лет назад +1

      Vertie it’s multi paradigm. Imperative is only one part

    • @ELStalky
      @ELStalky 5 лет назад

      If you want a curried function, you can just chain arrows, e.g. const product = x => y => x * y.
      The only thing that is ugly is the call, requiring parentheses for every argument application.

  • @subbuswaroop6122
    @subbuswaroop6122 5 лет назад +5

    I'm Tamil and I feel proud of the Internalization API... Good Work Google

    • @Bigdaddy91982
      @Bigdaddy91982 5 лет назад +2

      Bruh I was looking for this comment lol

    • @toequantumspace
      @toequantumspace 5 лет назад

      I love Tamil alphabet it's pure art (I understand nothing though :) )

  • @recursiv
    @recursiv 5 лет назад +19

    Is there a way to reliably know if the current environment has a stable sort implementation?

    • @jonmichaelgalindo
      @jonmichaelgalindo 5 лет назад +1

      An extremely slow polyfill? That way, customers running your sort will believe their device to be slow and upgrade to a more modern system which will (hopefully) ship with a stable sort.
      Or, a browser flag would be nice, but we can't have those for every feature. For some reason.

    • @mathiasbynens
      @mathiasbynens 5 лет назад +1

      Sort an array with elements [0..n-1] modulo 4 (for example). If the sort is stable, the array is partitioned into 4 parts, where each part has only increasing elements.

    • @recursiv
      @recursiv 5 лет назад

      @@mathiasbynens Yes that's certainly true but that might also happen coincidentally even if the algorithm isn't generally stable. In the absence of anything more reliable I'll probably rely on something like this.

  • @xaviergonz244
    @xaviergonz244 5 лет назад +11

    I'm really looking forward to finalizers, right now there's no way to automatically dispose of wasm resources other than calling a manual dispose method

    • @xerotolerant
      @xerotolerant 5 лет назад +1

      Would the garbage collection mentioned in the WebAssembly presentation be a solution to this problem?

  • @decodingcode1494
    @decodingcode1494 5 лет назад +1

    23:23 தமிழ் மொழி. glad to see my native language. new flatmap method quite good

  • @ArjunSarthi
    @ArjunSarthi 5 лет назад +2

    Wherever you go there's an Indian ..Proud

    • @brunodale2
      @brunodale2 4 года назад +1

      That's true, specially for India.

  • @darkwolf003
    @darkwolf003 5 лет назад

    Allways top notch quality! kudos

  • @travelwithdb
    @travelwithdb 3 года назад

    Such an informative talk.. 👍

  • @danielfromca
    @danielfromca 5 лет назад +1

    Things move so fast and get more complicated, so have to learn all time to keep up and even then I always feel like I’m behind..

  • @VinsysVlogs
    @VinsysVlogs 5 лет назад +2

    Happy to see it in Tamil 🤩

  • @GottZ
    @GottZ 5 лет назад +5

    holy shiiiit.. weakref is gold

  • @c24r43tybb6
    @c24r43tybb6 5 лет назад +22

    Omfg, this will be so easy now!
    new Promise( ... ).any( updateProgressbar ).all( processFinished )

    • @mathiasbynens
      @mathiasbynens 5 лет назад +2

      That's not how the API works, though. Promise.any and Promise.all are static methods, not instance methods. Also, Promise.any should not be used to update progress bars, since it only gives you a signal once (not once for every promise). See our explainer at v8.dev/features/promise-combinators for more details.

  • @taylorsmurphy
    @taylorsmurphy 5 лет назад +6

    Javascript Inventors: "Let's just make a basic thing, but no biggie, not like it will be more than a novelty"
    10 years later: This video

    • @recursiv
      @recursiv 5 лет назад +5

      10 years? Maybe more like 24.

    • @brymstoner
      @brymstoner 5 лет назад

      @@recursiv I've been using it since 97. Definitely more than 10 years lol. Maybe he meant 10n.

  • @tsepoo
    @tsepoo 5 лет назад

    Cool, it is worth sharing.

  • @YTSliv
    @YTSliv 5 лет назад +3

    One of the thing I never understand is, even "flatMap" is a "conventional FP name"
    match + all -> matchAll
    find + index -> findIndex
    map + flat -> flatMap

    • @tomotomo
      @tomotomo 5 лет назад +2

      match to All
      find the Index
      flat the Map

    • @DavidBlanch0
      @DavidBlanch0 5 лет назад +1

      The real FP name for flatMap is >>=

    • @Knigh7z
      @Knigh7z 5 лет назад

      @@DavidBlanch0 you mean bind

  • @ManchesterTechGuy
    @ManchesterTechGuy 5 лет назад

    I like the new LINQ like functionality in the promises

  • @anticom1337
    @anticom1337 5 лет назад +1

    General question ( 14:20 ) is .flatMap usually a .map().flat() in the functional world? I always had trouple wrapping my head arround rxjs selection of map operators for example.

    • @Knigh7z
      @Knigh7z 5 лет назад

      Generally yes, you'd map over a "container" F with some function (T => F), which creates F, and "flattens" to F. Same overall outcome as flatten after a map, but their implementation is more efficient.
      In that example (if we use TypeScript types), it's an Array flatMap'd over with some (number => Array) to get an Array, rather than Array.

    • @memecomposerdotcom
      @memecomposerdotcom 5 лет назад

      map is one-to-one transformation, while flatMap is one-to-many transformation

  • @Zolbat
    @Zolbat 5 лет назад +35

    Safari - the Internet Explorer of browsers

    • @lucioinnocenzo2328
      @lucioinnocenzo2328 5 лет назад +8

      Internet Explorer IS a browser so your joke is wrongly made.

    • @akj7
      @akj7 5 лет назад +2

      Zolbat , thanks for the laugh.

    • @fxmtoeclipse
      @fxmtoeclipse 5 лет назад +1

      That sentence doesn’t make any sense...

    • @KaranRaina95
      @KaranRaina95 5 лет назад +1

      Isn't internet explorer the internet explorer of browsers? Oh wait..

    • @DeviousMagePkers
      @DeviousMagePkers 5 лет назад +4

      ​@@lucioinnocenzo2328 Woosh. The joke is that Internet explorer isn't even considered a browser, described by a microsoft engineer as a 'compatibility tool'

  • @avneeshroks
    @avneeshroks 5 лет назад

    Promise.allSettled will be really helpful.

  • @dolnar
    @dolnar 4 года назад

    What about jQuery? Do think we have to forget completely this script language to the native JavaScript. I believe the jQuery is the best way for those who have more difficulty with the native language JS. Your feedbacks are welcome.

  • @pandharipatel
    @pandharipatel 5 лет назад +1

    Thanks, TC39

  • @miguelperezpal
    @miguelperezpal 5 лет назад

    this is sick

  • @rsrini7
    @rsrini7 5 лет назад +2

    Nice features.. and Tamil 💐..

  • @MinusTechTips
    @MinusTechTips 5 лет назад +92

    Those 6 dislikes are from PHP developers

    • @tiancihe795
      @tiancihe795 5 лет назад +1

      2 more coming here to dislike the advancement of javascript, seriously, just turn to javascript already, php is no match against javascript.

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj 5 лет назад +1

      @@tiancihe795 Rust *cough cough* , Node is cool tho.

    • @Manu-mr4mn
      @Manu-mr4mn 5 лет назад +1

      Love node, but I love python as well, flask is pretty good. Just use whatever does the job

    • @amudhavigneshwarankmp7571
      @amudhavigneshwarankmp7571 5 лет назад

      Ha ha ;)

    • @kenyadorcelus917
      @kenyadorcelus917 5 лет назад

      @@Microphunktv-jb3kj Check Ryan Dahl new cool project Deno (Node? TypeScript + Rust) You'll love it!

  • @MrThegourav
    @MrThegourav 5 лет назад +5

    I loved the globalTHis , it looks simple but it is painful to do it right

    • @safdarawn902
      @safdarawn902 3 года назад

      no, if you have a clear knowledge of the topics then it's very useful

  • @peteradam4740
    @peteradam4740 5 лет назад +9

    25:49 Was that a freudian slip?

    • @RarRarRarRarRarRar
      @RarRarRarRarRarRar 5 лет назад

      Pretty sure my websites don't ever show that, but maybe this is a new design trend I'm not yet aware of! :P

  • @subashs2243
    @subashs2243 5 лет назад +4

    😍23.00 Tamil formatting displayed 💕🤝

  • @wenqiangliu8011
    @wenqiangliu8011 5 лет назад +1

    love this talk,where can i get the slides?

  • @latand
    @latand 5 лет назад +2

    Wow... updated node! Wait, what? Python already has many of these new features? Ah...

  • @pardal_bs
    @pardal_bs 5 лет назад

    It would be nice to have private fields in constructor functions too.

  • @chunpingli8235
    @chunpingli8235 5 лет назад +2

    I will expect that new APIs and new virtual parsing engine for universal byte code

    • @skierpage
      @skierpage 5 лет назад

      WASM replaces byte code parsing. You send either minified JS or WASM to the browser.

  • @BrianGreigRWD
    @BrianGreigRWD 5 лет назад +2

    Looks like they are favoring OOP > Functional

  • @spektrum030
    @spektrum030 4 года назад

    Intl.RelativeTimeFormat is just great

  • @captpierce83
    @captpierce83 5 лет назад

    Are the presentation slides available?

  • @RajBala
    @RajBala 5 лет назад +6

    Did he say தமிழ்? DID HE JUST SAY தமிழ்? 👏👏

  • @korseg1990
    @korseg1990 5 лет назад +1

    Does babel support this?)

  • @jonmichaelgalindo
    @jonmichaelgalindo 5 лет назад +5

    Stable sort! Can it be?! :-D

    • @GottZ
      @GottZ 5 лет назад

      finally no need to write complex sorting functions anymore!

  • @johnpaulada5111
    @johnpaulada5111 5 лет назад +4

    We implemented something like Promise.allSettled before. We called it Promse.allMost 😂🤣

  • @frmlsshrmn
    @frmlsshrmn 5 лет назад +3

    JavaScript catching up with Java (private class member fields, underscore separators, BigInt)...

  • @ДжонШепард-ы8й
    @ДжонШепард-ы8й 5 лет назад +1

    The numeric separators were built-in into Python long ago.

  • @sagnikpradhan3594
    @sagnikpradhan3594 5 лет назад +1

    Hell Yeah!!!

  • @chiboreache
    @chiboreache 5 лет назад

    10:40 available only >= 75 version of Chromium if some interested in
    28:28 it looks like Coffeescript, yeah ;{ a long time ago, again...

  • @johnhorse3525
    @johnhorse3525 5 лет назад

    Linux and google love node.js

  • @talentedandrew
    @talentedandrew 5 лет назад

    Hope that Intl API would help me discard MomentJs soon.

  • @amudhavigneshwarankmp7571
    @amudhavigneshwarankmp7571 5 лет назад

    Promise.allSettled is awesome. I used to write lot of code for this.

  • @evolutionxbox
    @evolutionxbox 5 лет назад +4

    Object.fromEntries
    I wonder how it compares to:
    .reduce((acc, curr) => ({
    ...acc,
    [curr[0]]: curr[1]
    }), {})

    • @entarctica
      @entarctica 5 лет назад +1

      The algorithm is subtly different from that, but in almost all cases the result would be equivalent. If you mean in terms of perf, at least in v8 the fromEntries implementation is written with Turbofan, not in the ES layer, and would typically be faster (and it does not initialize a new object and spread all previous properties on every iteration as in this reducer).

    • @mathiasbynens
      @mathiasbynens 5 лет назад

      Yes, this is exactly the kind of implementation you’d have to come up with yourself, previously. With Object.fromEntries, you don’t have to worry about it anymore.

    • @tiancihe795
      @tiancihe795 5 лет назад +1

      Semantically

    • @lxxNFxxl
      @lxxNFxxl 5 лет назад +5

      Speed! Reduce is really slow.
      Array with 1 000 entries
      fromEntries: 1.267ms vs reduce: 6795.383ms
      Array with 10 000 entries
      fromEntries: 2.434ms vs reduce: 26033.711ms

  • @AlexanderFrischbutter
    @AlexanderFrischbutter 5 лет назад

    What about just use keyword private for private attributes? Why Invent new syntax

    • @ashrafal
      @ashrafal 5 лет назад +1

      Adding keywords to a living language is not simple. People might have already been using "private" as their variable and function names. All that code will get effected.

  • @orange-one
    @orange-one 5 лет назад +4

    They sound lile they switch each others voice at first😂

  • @wanglan4255
    @wanglan4255 5 лет назад

    The weak ref proposal doesn’t seem very clean.

  • @axcelleria
    @axcelleria 5 лет назад +6

    Ms Edge: am I joke to you?

    • @mathiasbynens
      @mathiasbynens 5 лет назад +2

      See 00:18. Edge is adopting Chromium and V8, so it’ll soon support the same features that Chrome supports.

  • @WinS392
    @WinS392 5 лет назад

    35:45 print and tape on wall

  • @waelalr9203
    @waelalr9203 5 лет назад +2

    Where is internet explorer?? :p

  • @bhargavkaranam
    @bhargavkaranam 5 лет назад

    Private class fields and global this

  • @BrendanBaldwin
    @BrendanBaldwin 5 лет назад

    yay numeric separators like ruby!

  • @manishkhedawat6999
    @manishkhedawat6999 5 лет назад +1

    Thanks for Promise.allSettled()

  • @DeepakKumar-uz4xy
    @DeepakKumar-uz4xy 5 лет назад

    6:44 encapsulation like in Python

  • @Masterrunescapeer
    @Masterrunescapeer 5 лет назад +3

    If _ was already convention for private, why reinvent and make them use # instead. Seems backwards, since you'd only "hurt" anyone who went against convention and then force them to clean up their act, making code more maintainable.
    Hash to me is a number/length of var, seems backwards to use it when we have the convention of _var for class members for a very long time.

    • @PhilipAlexanderHassialis
      @PhilipAlexanderHassialis 5 лет назад +2

      On the other hand, using a new symbol which will make the engine throw a hard syntax error is better because that way you can maintain the convention for older libraries and can promote clean code with the new feature. Sure, hash is mostly used for numbers but mostly within US. Most other countries started using hash when it was used within the scope of a hashtag. Remember,JS is a language for everyone :) Although tbvfh I would prefer if they actually had field access reserved words a la private/protected/public, at least using a # is a way to both not throw everyone under a boat plus add a new feature in a nice way.

    • @mathiasbynens
      @mathiasbynens 5 лет назад

      Because we cannot break backwards compatibility. Any code that relies on a property with a _ prefix being accessible would break if we turned them into private fields all of a sudden.

    • @Masterrunescapeer
      @Masterrunescapeer 5 лет назад

      @@mathiasbynens rather then just add a flag that does strict enforcement or not or a flag to allow for # to be an alternative option. Most of us use underscore correctly already, having this addition without having to go back and changing code would be better than forcing users to change to hashes.

    • @stanislavsarbinski6629
      @stanislavsarbinski6629 5 лет назад

      ​@@mathiasbynens It sounds like a Microsoft policy about "updating" their Windows and this is the reason why the Windows 10 now adopt Linux inside(WSL/2). IMO keeping this mindset - "do not break backwards compatibility" will be the main reason for many pitfalls in the future JavaScript.

  • @jonmichaelgalindo
    @jonmichaelgalindo 5 лет назад

    Finalizers are cool, but I really just want some straight-forward garbage collection control in JS. >:-|

  • @markocen
    @markocen 5 лет назад +2

    Safari is the new IE 😂

    • @xali2008
      @xali2008 5 лет назад

      Safari mobile still not supporting Media Source Extensions API or Full Screen API.

    • @brymstoner
      @brymstoner 5 лет назад +2

      I don't even go out of my way to cater to it. If Apple can't be bothered to keep pace with everyone else, I can't be bothered to slow down for them.

  • @jijin-malayalicoder5275
    @jijin-malayalicoder5275 5 лет назад

    ❤️❤️

  • @tobi3497
    @tobi3497 5 лет назад +3

    What was wrong with the standard "private field"? Most people are used to this, writing in typescript (and every other language). "#field" makes no sense, and is unwieldy, especially if you wanted to quickly change the field scope. Additionally, this can't nicely be extended for other field scopes such as protected -- unless they were to introduce more arbitrary field prefixes, i.e. "$field" for protected.

    • @SirusStarTV
      @SirusStarTV 5 лет назад +2

      Looks ugly and reminds python comment.

    • @zaccusbcrackus
      @zaccusbcrackus 5 лет назад

      100% this!!!

    • @zaccusbcrackus
      @zaccusbcrackus 5 лет назад

      Without a doubt the # is the wrong approach to this. It's not like we have dozens of languages to learn from...but it is so easy to think of all the problems with this (besides the fact that other languages has already solved syntax/grammar for access modifiers)

    • @ccjmne
      @ccjmne 5 лет назад +1

      What's wrong with what you propose is that you could just try and do: myObject.field = 123... and get an error, thus knowing of the internal implementation of that class.
      #field is actually private, nobody has to know about it.
      If any consumer of your class wants to add its own data to it, it can do whatever it wants, as long as it respects the documented API, with no fear of breaking obscure internal blackboxed infrastructure. Also, you get to change your implementation of that class and publish new minor versions with no risk of breaking the code of all your users...
      React, for instance, is having tremendous troubles with their users **relying on** and **directly manipulating** a state property that was always meant to be **private**. They cannot change their implementation anymore from fear of breaking all their dependents.

  • @iraasta
    @iraasta 5 лет назад +1

    Year 2019: JavaScript discovers monads exist

  • @vertie2090
    @vertie2090 5 лет назад

    How bout some operators for piping or functional composition?

  • @mantou7189
    @mantou7189 5 лет назад

    json support bigint ?

    • @solodas6490
      @solodas6490 5 лет назад

      Good question. I would be annoying to have bigInt data break over API requests (for example)

    • @SirusStarTV
      @SirusStarTV 5 лет назад

      Just wrap it around quotes if json doesn't support it.

  • @Noobmaster69_bro
    @Noobmaster69_bro 5 лет назад +2

    I'm waiting for async in forloop like in the new c#🤨

    • @mathiasbynens
      @mathiasbynens 5 лет назад +5

      JavaScript already supports async iteration through for-await-of!

    • @jonmichaelgalindo
      @jonmichaelgalindo 5 лет назад +2

      Actually, it does! :-)
      Thusly: for( let i = 0; i < 10; i++ ) { await SomeAsyncFunction( i ); }

    • @UBERDHOKER
      @UBERDHOKER 5 лет назад

      Await Promise.all(array.map((value) =>
      asyncCall(value))
      )
      If you don't await in the map, the entire loop will run simultaneously and return an array of resolved promises in order

  • @Sancarn
    @Sancarn 5 лет назад

    Imo, it's actually really unfortunate private class fields were implemented. Now there will be some cases where you can't inspect the content of objects used by some other websites, which seems like both a security hazard and also just bad manners imo... Anyway, what was the problem with using _ to dictate private variables? Finally what's with the screwed up syntax? idk... Not happy about this feature personally.

  • @nayaleezy
    @nayaleezy 5 лет назад +10

    just become typescript already please

    • @ceaser8999
      @ceaser8999 5 лет назад +2

      Lee Owen 😂😂😂😂😂😂

  • @ruhankhandaker5198
    @ruhankhandaker5198 5 лет назад

    cool

  • @bharathhs3996
    @bharathhs3996 5 лет назад

    @ 8:03 is it fine not to use constructor in parent class?

    • @mathiasbynens
      @mathiasbynens 5 лет назад

      In this example, we need the constructor in the `Animal` class, since we want to assign the value passed to the constructor to the `name` field.

  • @tommedcouk
    @tommedcouk 5 лет назад

    `for( const match of string.matchAll())` - shouldn't that be `let` instead of const because the value of this variable is being reassigned?

    • @flakaal
      @flakaal 5 лет назад

      The 'match' is not beign assigned in case of an iteration match is the current value.

    • @bartvankeersop8218
      @bartvankeersop8218 5 лет назад

      A new block scope is created for every iteration: medium.com/@mautayro/es6-variable-declaration-for-loops-why-const-works-in-a-for-in-loop-but-not-in-a-normal-a200cc5467c2

    • @mathiasbynens
      @mathiasbynens 5 лет назад

      `match` is not being re-assigned within the loop body or its condition, so it can be `const`. The code example is correct.

  • @小张同学-v6i
    @小张同学-v6i 5 лет назад

    # is by convention a comment ... also javascript is famous for being a classless language everything is an object, what happens with the prototype?

  • @CzajekTutorialowiec
    @CzajekTutorialowiec 5 лет назад

    They could have done anything to make JS better and they thought private fields is what we need? The getter/setter craze amazes me.

  • @RajeshKumar-ob9zy
    @RajeshKumar-ob9zy 5 лет назад

    This comment is just for fun... for all others, polyfill is available... ;-)

  • @platin2148
    @platin2148 5 лет назад

    Thanks for all the great JS applications on desktop. (Huge amount of sarcasm incoming)
    JS is practically that what we don't need currently as it try's to make software more generic so it runs on any hardware but we actually need software that is build for hardware.

  • @yashmohod5947
    @yashmohod5947 4 года назад

    hi

  • @miroslavparvanov
    @miroslavparvanov 5 лет назад +9

    It's funny how they don't mention Edge like it' non-existent LOL

    • @mathiasbynens
      @mathiasbynens 5 лет назад +17

      On the contrary, it’s one of the first things we mention: 00:18

    • @miroslavparvanov
      @miroslavparvanov 5 лет назад

      @@mathiasbynens sorry, my bad

    • @MundoFinky
      @MundoFinky 5 лет назад +1

      They don't mention it because it will use Chromium very soon so it will support everything Chrome does.

  • @yongzeyao1337
    @yongzeyao1337 5 лет назад

    bigNumber pls?

  • @arodic
    @arodic 5 лет назад

    What about Edge (not shown in browser support slides)?

    • @mathiasbynens
      @mathiasbynens 5 лет назад +13

      Edge is soon going to be Chromium-based, so it’s the same as Chrome (and Opera etc.). It’s one of the first things we mention: 00:18

  • @yongkiamirson2376
    @yongkiamirson2376 3 года назад

    Freinds
    God Blees
    Ysa Mdn

  • @dinoscheidt
    @dinoscheidt 5 лет назад +1

    God that hash private field class annotation is ugly. Why could they not just use typescripts implementation? Just add private in the front of it

  • @evolutionxbox
    @evolutionxbox 5 лет назад +2

    STOP STICKING NEW IN FRONT OF APIS

  • @WinnerSingh
    @WinnerSingh 5 лет назад +1

    I want to be Professional React developer.

  • @teckyify
    @teckyify 5 лет назад +4

    I wished nothing was new. JS gets increasingly like a junk heap like C#. What we need is less syntax. The only features they needed to get done are multi-threaded Array.prototype.map, Array-comprehensions, some kind of pattern-matching. Everything else is just for developers who only understand superficial things like syntax, but no semantics.

    • @memecomposerdotcom
      @memecomposerdotcom 5 лет назад

      If you intended to mean "array comprehension" the same as python's list comprehension, please stop, list comprehensions in python make code very unreadable because they are usually too long, you can always you Arra.prototype.map to emulate simple list comprehensions in python

  • @DustinDeus
    @DustinDeus 5 лет назад

    Funny to see that they completly ignore Microsoft Edge but scarry that I need to support it :D

    • @ahmadalfy
      @ahmadalfy 5 лет назад +1

      Edge is now built on top of Chromium. It's not on the list because it already follow the development cycle now and all the features will be available to it

    • @mathiasbynens
      @mathiasbynens 5 лет назад +5

      We didn’t ignore Edge at all. In fact, Edge soon being based on Chromium is one of the first things we mention: 00:18

    • @DustinDeus
      @DustinDeus 5 лет назад

      @@mathiasbynens Yeah, that's correct when we are talking about the future but the current state may differ and it will take a lot of time until an industry has migrated from Edge/IE to Edge (V8) that's the state we have to handle right now and in foreseeable future. But anyway the message is clear and keep up the great work!

  • @sigmiami
    @sigmiami 5 лет назад

    Class is messing

  • @leksanders8908
    @leksanders8908 5 лет назад +1

    there is no point to invent tons of workarounds to speedup garbage collector, it's better to have a language having no such garbage collector

    • @skierpage
      @skierpage 5 лет назад

      Compile your GC-free language to WebAssembly.

  • @terencecheung1374
    @terencecheung1374 5 лет назад

    82 DISLIKES FROM IE

  • @AlexanderShelestov
    @AlexanderShelestov 5 лет назад

    It's a pity that so ugly language as JS, is getting popular everywhere and have the support of corporations.
    Many other languages much easier, much better, have already all these features, with not so ugly syntax and weird parts.

    • @memecomposerdotcom
      @memecomposerdotcom 5 лет назад

      What is the ugly part you are talking about?

    • @skierpage
      @skierpage 5 лет назад

      "getting popular"?!! JavaScript runs on 6 billion connected PCs and phones allowing universal zero-install software. Nothing else does, or is likely to. It's tricky to upgrade an ubiquitous language, I think TC39 is doing a fine job with all its constraints.