この記事の内容
- この動画教材が完了したので、実際に簡易的な学習記録アプリを自分で作ってみた
- 学んだこと、思ったこと、大変だったことを記述する
学習記録アプリ
- ユーザーは学習内容、学習時間を入力、それを登録する
- 学習時間は下部に累積される
- 学習内容、学習時間の入力は必須である
印象に残った部分
onClickイベントハンドラーについて
↑ 関数が発火するタイミングで詰まりました
reduce()
reduce()メソッド知らなかったです、使い勝手良さそうなメソッドでした
下記、mdnより
const array = [1, 2, 3, 4];
// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumWithInitial = array.reduce(
(accumulator, currentValue) => accumulator + currentValue,
initialValue,
);
// accumulatorは累積値、この場合currentValueの値がどんどん加算されていきます。
// currentValueは現在の値、この場合arrayの内容が、1, 2, 3, 4と入っていく
// initialValue最初に引数として渡される値、今回は0
console.log(sumWithInitial);
// 結果: 10
上記のサンプルコードは、arrayの要素を順番に加算して、合計値を出力するというもの
NaN
NaN = Not-a-Number
これが文字列でもなく、エラーでもなくnumber型というのを忘れていた、というか理解していませんでした
typeof NaN; // "number"
ユーザーからの入力にバリデーションをかけるタイミングで、ここであれ?となりました
どんな時にNaNになる?
- 数値に変換できない、というとき
Number("abc"); // NaN
parseInt("foo"); // NaN
-
NaNを含む計算
1 + NaN; // NaN
- 数値と文字列
"foo" / 3 // NaN
NaN同士は等しくない
NaN === NaN // false
これはtrueにはなりません
NaNは「ある特定の値」を表しているのではなく、 「数値として定義できない結果」という状態を表しているためです
感想
- Udemy講座がわかりやすかったので、かなりスムーズに学習できました
- つまる部分は
JS関連でした、基本がなってない…
参考