const vs let
Базовое правило простое: сначала выбирайте const, и только при реальной необходимости - let.
Так код читается проще, а случайных переприсваиваний становится меньше.
Это правило полезно как "безопасный дефолт": изменение переменной становится осознанным действием, а не случайностью.
const apiUrl = '/api';
const configuration = {
timeout: 5000,
retries: 3,
headers: {
'Content-Type': 'application/json'
}
};
const users = await fetchUsers(apiUrl);
const processedData = users.map(transformUser);
const защищает от случайного переприсваивания.
Это особенно полезно в больших файлах и при командной разработке.
const MAX_RETRY_ATTEMPTS = 3;
const API_ENDPOINTS = {
users: '/api/users',
posts: '/api/posts',
comments: '/api/comments'
} as const;
// Переприсваивание вызовет ошибку
// MAX_RETRY_ATTEMPTS = 5; // TypeError: Assignment to constant variable
let нужен там, где значение действительно меняется:
// Изменяемые переменные
for (let i = 0; i < users.length; i++) {
processUser(users[i]);
}
let totalScore = 0;
for (const game of games) {
totalScore += game.score;
}
let currentUser = null;
if (isAuthenticated) {
currentUser = await getCurrentUser();
}
Итог:
const- выбор по умолчанию;let- только для счетчиков, аккумуляторов и других изменяемых значений;