モジュール 2 · レッスン 4 / 4コース内の 8/32~8 min
モジュールのレッスン (4/4)
型変換
常に値の 型を変換する必要があります: value
HTML 入力は、数値や API を表す場合でも文字列として到着します。
フォーマットする文字列を返す場合、オブジェクトをテキストとしてログに記録する必要があります。 JS オファー
変換の 3 つのファミリー: 明示的な専用パーサー、および (予定)
回避) 暗黙的なもの。
明示的な変換
これらは最も明確であり、デフォルトにする必要があります。
JS
Number('42'); // 42
Number('3.14'); // 3.14
Number(''); // 0 ← careful
Number(' 10 '); // 10 (spaces are ignored)
Number('ciao'); // NaN ← does not represent a number
String(42); // '42'
String(true); // 'true'
String(null); // 'null'
String(undefined); // 'undefined'
Boolean(1); // true
Boolean(0); // false
Boolean(''); // false
Boolean('abc'); // trueparseInt および parseFloat: 寛容なパーサー
Number(...) とは異なり、parseInt および parseFloat 数値以外の文字列は無視されます。
文字列の tail: 最初の無効な文字で停止します。
JS
Number('42px'); // NaN
parseInt('42px'); // 42
parseFloat('3.14em'); // 3.14
parseInt(' 12 anni'); // 12
parseInt('ciao12'); // NaN ← must start with digitstoFixed 数値を文字列としてフォーマットする
前のレッスンで簡単に説明しました。小数点以下 N 桁に四捨五入して、 文字列。
JS
(3.14159).toFixed(2); // '3.14'
(1).toFixed(2); // '1.00'number に変換し直すには、Number(...) プレフィックスまたは単項を使用します。
+:
JS
Number((3.14159).toFixed(2)); // 3.14
+(3.14159).toFixed(2); // 3.14NaN: 噛み付く値
NaN (「数値ではありません」) は、失敗した数値演算によって生成されます。
JS
Number('ciao'); // NaN
0 / 0; // NaN
parseInt('xxx'); // NaN特徴:
- タイプは
'number'です (はい、「非数値」は数値です) - それ自体と等しくありません:
NaN === NaNはfalseです - テストするには、関数
Number.isNaN(x)を使用します
JS
const x = Number('ciao');
x === NaN; // false (!)
Number.isNaN(x); // true試してみてください
運動#js.m2.l4.e1
試行回数: 0読み込み中…
文字列「128.95 EUR」を指定すると、(10 進数) 数値を抽出して最も近い整数に丸め、数値として返します。予想: 129。
エディターを読み込み中…
ヒントを表示
parseFloat は「EUR」を無視します。 .toFixed(0) は文字列として整数に丸めます。 Number(...) は数値に変換されます。
3 回の試行後に解決策が利用可能になります
復習演習
運動#js.m2.l4.e2
試行回数: 0読み込み中…
`n = Number('non un numero')` とすると、結果が NaN の場合に true と評価される単一の式を作成します。
エディターを読み込み中…
ヒントを表示
n === NaN ではなく、Number.isNaN を使用します。NaN はそれ自体と等しくありません。
3 回の試行後に解決策が利用可能になります