Какая разница между определениями класса в Js

Всем привет, столкнулся на проекте с двумя разными объявлениями классов в Js

Первый вариант:

let ClassName = class {...}

Второй вариант:

class ClassName {...}

Какая разница между этими определениями?


Ответы (1 шт):

Автор решения: Qwertiy
  1. Через let объявляется переменная, которой можно потом присвоить другое значение.
  2. В class expression можно задать классу другое имя, которое будет видимо только внутри него.
  3. С class decloaration можно нормально использовать export.

Больше разницы пока не вижу, даже имя класса по умолчанию возьмётся из переменной.

→ Ссылка