diff --git a/CHANGES.md b/CHANGES.md
index fc60632dd1..b2294ae731 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -16,6 +16,7 @@ Grammars:
- enh(swift) add SE-0290 unavailability condition (#3382) [Bradley Mackey][]
- fix(fsharp) Highlight operators, match type names only in type annotations, support quoted identifiers, and other smaller fixes. [Melvyn Laïly][]
- enh(java) add `sealed` and `non-sealed` keywords (#3386) [Bradley Mackey][]
+- enh(js/ts) improve `CLASS_REFERENCE` (#3411) [Josh Goebel][]
- enh(nsis) Update defines pattern to allow `!` (#3417) [idleberg][]
- enh(nsis) Update language strings pattern to allow `!` (#3420) [idleberg][]
- fix(clojure) Several issues with Clojure highlighting (#3397) [Björn Ebbinghaus][]
diff --git a/src/languages/javascript.js b/src/languages/javascript.js
index b3282e1725..9b748eb1f7 100644
--- a/src/languages/javascript.js
+++ b/src/languages/javascript.js
@@ -290,10 +290,14 @@ export default function(hljs) {
regex.either(
// Hard coded exceptions
/\bJSON/,
- // Float32Array
- /\b[A-Z][a-z]+([A-Z][a-z]+|\d)*/,
- // CSSFactory
- /\b[A-Z]{2,}([A-Z][a-z]+|\d)+/,
+ // Float32Array, OutT
+ /\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,
+ // CSSFactory, CSSFactoryT
+ /\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*|\d)*/,
+ // FPs, FPsT
+ /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*|\d)*/,
+ // P
+ // single letters are not highlighted
// BLAH
// this will be flagged as a UPPER_CASE_CONSTANT instead
),
diff --git a/test/markup/javascript/class.expect.txt b/test/markup/javascript/class.expect.txt
index 3ef253c364..7e1dd67c80 100644
--- a/test/markup/javascript/class.expect.txt
+++ b/test/markup/javascript/class.expect.txt
@@ -33,3 +33,8 @@
CSSParser
Float32Array
BigInt64Array
+FPs
+OutT
+InT
+CSSParserT
+IResponseTsS
diff --git a/test/markup/javascript/class.txt b/test/markup/javascript/class.txt
index bebfe77f90..4badef7377 100644
--- a/test/markup/javascript/class.txt
+++ b/test/markup/javascript/class.txt
@@ -33,3 +33,8 @@ SelfDrivingTruck
CSSParser
Float32Array
BigInt64Array
+FPs
+OutT
+InT
+CSSParserT
+IResponseTsS