diff --git a/mode/javascript/javascript.js b/mode/javascript/javascript.js
index 402b596c6f76da9146c3e3599e44e92efaeea7f8..4316078ed72dc74b1e755c7b7c062db22573172f 100644
--- a/mode/javascript/javascript.js
+++ b/mode/javascript/javascript.js
@@ -571,6 +571,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) {
     if (value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, afterType)
     if (value == "|" || type == ".") return cont(typeexpr)
     if (type == "[") return cont(expect("]"), afterType)
+    if (value == "extends") return cont(typeexpr)
   }
   function vardef() {
     return pass(pattern, maybetype, maybeAssign, vardefCont);