What the JavaScript?

35761e3936deba2f8189c2d20982c771?s=47 Kyle Simpson
February 12, 2015

What the JavaScript?

You've heard years of complaints about JavaScript and how many WTFs it has. It's certainly popular to be in the "I use JS but it's a crazy language" camp. But is it really riddled with bad design?

There are definitely some legitimate WTFs, but they're most likely not the things you think. We're going to meander through of bunch of the weird corners of the language -- not the usual suspects -- and then look FORWARD to the new WTFs that ES6 (or ES2015 or whatever) has in store for us.

If you're looking for the "bad parts" to avoid, ditch everything you've heard before and "let" these dance in your nightmares.

35761e3936deba2f8189c2d20982c771?s=128

Kyle Simpson

February 12, 2015
Tweet

Transcript

  1. what the... JavaScript? kyle simpson http://getify.me @getify http://www.waxoil.com/art/alternative/strange-art-leaf.gif

  2. defend, hate

  3. wtf: not just funny

  4. wtf: not a bug, not just ugly

  5. wtf: not cross browser quirks

  6. wtf: inconsistent, incoherent, unreasonable

  7. TC39: great!

  8. JavaScript: great... and getting better!

  9. most wtfs...not

  10. None
  11. warmups

  12. wtf

  13. wtf

  14. wtf

  15. coercion

  16. not wtf

  17. not wtf

  18. not wtf

  19. wtf

  20. moar coercion

  21. wtf

  22. wtf

  23. wtf

  24. wtf

  25. wtf

  26. wtf

  27. empty slots

  28. wtf

  29. wtf

  30. wtf

  31. wtf

  32. switch default break

  33. wtf

  34. finally

  35. wtf

  36. not wtf

  37. wtf

  38. wtf

  39. wtf

  40. wtf

  41. generators

  42. not wtf

  43. not wtf

  44. not wtf

  45. not wtf

  46. not wtf

  47. not wtf

  48. wtf

  49. wtf

  50. wtf

  51. tdz: temporal dead zone

  52. wtf

  53. object destructuring

  54. not wtf

  55. not wtf

  56. not wtf

  57. not wtf

  58. not wtf

  59. wtf

  60. wtf

  61. not wtf

  62. not wtf

  63. wtf

  64. default param values

  65. not wtf

  66. wtf

  67. wtf

  68. "class"es

  69. wtf

  70. wtf

  71. I'm being generous --> not wtf

  72. I'm being generous --> not wtf

  73. wtf

  74. wtf

  75. wtf

  76. wtf

  77. wtf

  78. wtf

  79. sigh

  80. haters gonna hate still gonna JavaScript

  81. always bet on JavaScript ...and its wtfs

  82. thanks! kyle simpson http://getify.me @getify