TypeScript-те any мен unknown-ның айырмашылығы неде?
sobes.tech AI
AI-дан жауап
TypeScript-те any және unknown — бұл кез келген мәндермен жұмыс істеуге мүмкіндік беретін типтер, бірақ олардың арасында маңызды айырмашылықтар бар:
-
anyтипі типтік тексеруді өшіреді.anyтипі бар айнымалыға кез келген мән берілуі мүмкін, және оған кез келген операция жасауға болады, бұл компиляция қатесінің болмауына әкеледі. Бұл типтердің қауіпсіздігін төмендетеді. -
unknown—any-дің қауіпсізірек аналогы. Ол да кез келген мәнді қамтуы мүмкін, бірақ мәнді қолданбас бұрын оның типін тексеру немесе қажетті типке түрлендіру керек. Компиляторunknownтипіндегі айнымалыны тікелей қолдануға рұқсат бермейді.
Мысал:
let a: any = 10;
let u: unknown = 10;
let num1: number = a; // Жақсы
// let num2: number = u; // Қате компиляция
if (typeof u === 'number') {
let num2: number = u; // Тексеруден кейін жақсы
}
Осылайша, unknown қауіпсіз әрі нақты типтерді өңдеуге мәжбүр етеді, ал any — типтерді бақылаусыз қолданудың жолы.