1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Reactで学習記録アプリ作ってみた

Posted at

この記事の内容

  • この動画教材が完了したので、実際に簡易的な学習記録アプリを自分で作ってみた
  • 学んだこと、思ったこと、大変だったことを記述する

学習記録アプリ

  • ユーザーは学習内容、学習時間を入力、それを登録する
  • 学習時間は下部に累積される
  • 学習内容、学習時間の入力は必須である

印象に残った部分

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関連でした、基本がなってない…

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?