Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript: Hey Y’all Watch This! Caribbean Dev...

David Neal
October 04, 2019

JavaScript: Hey Y’all Watch This! Caribbean Developers Conference 2019

Ah, JavaScript! Like it or not, it’s a “tragically important” language that is “eating the world.” Hate it? Love it? Avoid it? Embrace it?

This talk is a parade of face-palm JavaScript fails, history of JavaScript, why it is the way that it is, how it's getting better, and bad jokes sure to get an eye-roll from everyone! Along the way, we may even learn a few mistakes to avoid and tips to make our own JavaScript less terrible!

David Neal

October 04, 2019
Tweet

More Decks by David Neal

Other Decks in Technology

Transcript

  1. > const lol = a + b + c –

    f * ( n + o ); NaN
  2. ( a + b ) + c !== a +

    ( b + c ) > 0.1 + 0.2 === 0.3 false
  3. > typeof undefined // undefined > typeof true // boolean

    > typeof "hello" // string > typeof 1 // number > typeof {lol:true} // object > typeof [1,2,3] // object > typeof null // object
  4. > null == 0 // false > null > 0

    // false > null < 0 // false > null >= 0 // true > null <= 0 // true > Number( null ) // 0
  5. // undefined function troll() { return { haha: "ha!" };

    } troll(); // automatic semi-colon
  6. const arr = []; arr[1] = 1; arr[3] = 2;

    arr[10] = 3; arr.length // 11 arr[-1] = 4; arr.s = 5; arr.length // 11
  7. const person = { name: "David", speak: function() { console.log(

    `${ this.name } likes bacon.` ); } }; person.speak(); // David likes bacon
  8. const person = { name: "David", speak: function() { console.log(

    `${ this.name } likes bacon.` ); } }; const davidSpeak = person.speak; // true davidSpeak === person.speak; // undefined likes bacon davidSpeak();
  9. this.name = "Mike"; const fatArrowPerson = { name: "Jerry", speak:

    () => { console.log( `${ this.name } likes bacon, too.` ); } }; // Mike likes bacon, too. fatArrowPerson.speak();