почему при создании экземпляров каких то классов многие пишут const вместо let например, ведь это же по сути переменная разве не?
Это хороший тон. Советуют писать везде конст. А если надо переопределяясь где-то - изменять на лет (ну или изначально так писать, если уверен что придётся переопределять)