var is function-scoped, let and const are block-scoped. const cannot be reassigned, let can.
let count = 0; count++; // OK
const name = "ADN"; name = "test"; // Error!
Always use const by default, use let when you need to reassign, avoid var in modern JS.
Thinking const makes objects completely immutable. Forgetting about temporal dead zone with let.