JavaScriptで温度変換を実装する方法|摂氏・華氏の相互変換
温度変換関数とは
本記事では、摂氏(C)または華氏(F)の温度を表す文字列を受け取り、それぞれ反対の単位へ変換するJavaScript関数を作成します。
入力として渡される文字列は、次のような形式です。
"23F", "43C", "23F"
関数は文字列の末尾にある単位記号(C または F)を判別し、以下の変換式に基づいて計算を行います。
- 摂氏 → 華氏: F = C × 9 ÷ 5 + 32
- 華氏 → 摂氏: C = (F − 32) × 5 ÷ 9
サンプルコード
実際のコードは次のとおりです。
const temp1 = '37C';
const temp2 = '100F';
const tempConverter = temp => {
// 文字列の最後の1文字で単位を判定
const degree = temp[temp.length - 1];
let converted;
if (degree === "C") {
// 摂氏から華氏への変換
converted = (parseInt(temp) * 9 / 5 + 32).toFixed(2) + "F";
} else {
// 華氏から摂氏への変換
converted = ((parseInt(temp) - 32) * 5 / 9).toFixed(2) + "C";
}
return converted;
};
console.log(tempConverter(temp1));
console.log(tempConverter(temp2));コードの解説
この関数のポイントは以下の通りです。
- 単位の判定: 文字列の末尾の文字を
temp[temp.length - 1]で取得し、「C」か「F」かを判断しています。 - 数値の抽出:
parseInt(temp)を使うことで、「37C」のような文字列から先頭の数値部分だけを取り出せます。 - 小数の整形:
toFixed(2)により、計算結果を小数第2位までの文字列に整えて出力しています。
実行結果
コンソールには次のように出力されます。
98.60F 37.78C
このように、入力された温度の単位を自動的に判別して正しく変換できる、シンプルながら実用的な温度変換関数が完成します。
-
JavaScriptのconstとletの違いを徹底解説!ブロックスコープ変数の基本と使い方
JavaScriptにおけるconstとletの基本const と let は、ES2015(ES6)で導入された変数宣言用のキーワードです。どちらもブロックスコープ(波括弧 { } で囲まれた範囲)に対応しているのが特徴で、関数スコープしか持たなかった従来の var とは異なる挙動を示します。両者の大きな違いは再代入の可否です。letで宣言した変数は後から何度でも値を再代入できますが、constで宣言した変数は再代入しようとするとエラー(TypeError)が発生します。letとconstの主な違い項目letconst再代入可能不可(エラー発生)スコープブロックスコープブロックスコープ宣言時
-
JavaScriptのimportで波括弧「{}」を使う理由とは?名前付きエクスポートの基本をわかりやすく解説
JavaScript(ESモジュール)でモジュールを読み込む際、import 文に波括弧 { } を付けるかどうか迷ったことはありませんか?実はこの波括弧は、名前付きエクスポート(named export)を読み込むために必要な記法です。本記事では、実際のコード例を使いながら、{ } の役割と使い方を詳しく解説します。 importで { } を使う場面とは JavaScriptのESモジュールでは、エクスポート方法によって読み込み側の書き方が変わります。 名前付きエクスポート:export { 関数名 } のようにエクスポートされたものを読み込む場合は、import { 名前 } fro