تمرين إعادة البناء
Temperature Converter
أعد كتابة محوّل درجات حرارة TypeScript بين C و F و K.
typescript
~10 دقيقة
مبتدئ
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
type TemperatureUnit = "C" | "F" | "K";
type Temperature = {
value: number;
unit: TemperatureUnit;
};
function toCelsius(temperature: Temperature): number {
if (temperature.unit === "F") {
return (temperature.value - 32) * (5 / 9);
}
if (temperature.unit === "K") {
return temperature.value - 273.15;
}
return temperature.value;
}
function fromCelsius(celsius: number, unit: TemperatureUnit): Temperature {
if (unit === "F") {
return { value: celsius * (9 / 5) + 32, unit };
}
if (unit === "K") {
return { value: celsius + 273.15, unit };
}
return { value: celsius, unit };
}
function convert(temperature: Temperature, unit: TemperatureUnit): Temperature {
return fromCelsius(toCelsius(temperature), unit);
}
const result = convert({ value: 22, unit: "C" }, "F");
console.log(`${result.value.toFixed(1)}°${result.unit}`);اكتب هنا