The "this" keyword has long been a source of confusion, and new features added to JavaScript in recent years have muddled the picture even more. This talk will walk you through the details of how "this" works in the context of modern JavaScript. We'll cover the differences between function declarations, function expressions, arrow functions, object-shorthand function notation, and class fields, as well as best practices when integrating with other ES2015+ goodies.