WEBVTT

1
00:00:00.000 --> 00:00:00.980
こんにちは。

2
00:00:00.980 --> 00:00:08.006
今回はジャバスクリプトの関数とメソッドの一覧を、初心者の方にも分かるように案内します。

3
00:00:08.006 --> 00:00:15.685
これは、主要な標準の関数とメソッドを一つずつ解説するリファレンスで、全部で五十二項目あります。

4
00:00:15.685 --> 00:00:22.221
各記事では、引数、戻り値、実行結果つきの実例、間違えやすい注意点を確認できます。

5
00:00:22.221 --> 00:00:28.593
ただし、標準機能のすべてや、画面操作、通信の道具を網羅した一覧ではありません。

6
00:00:28.593 --> 00:00:33.168
対象は、日常のデータ処理でよく使うものに絞られています。

7
00:00:33.168 --> 00:00:37.906
やりたいことから探せる、目的別の地図として使ってください。

8
00:00:37.906 --> 00:00:44.932
五十二という数は多く見えますが、カテゴリごとに分けると一つひとつの役割が見えてきます。

9
00:00:44.932 --> 00:00:47.473
最初に、呼び方の分類を押さえます。

10
00:00:47.473 --> 00:00:52.555
一つ目は、パースイントのように名前だけで直接呼ぶグローバル関数です。

11
00:00:52.555 --> 00:00:59.580
二つ目は、オブジェクトキーズのように、組み込みオブジェクトの名前に続けて呼ぶ静的メソッドです。

12
00:00:59.580 --> 00:01:05.409
三つ目は、配列のマップのように、実際の値に続けて呼ぶインスタンスメソッドです。

13
00:01:05.409 --> 00:01:12.584
ここで注意したいのは、同じインクルーズという名前でも、配列と文字列では用途や仕様が違うことです。

14
00:01:12.584 --> 00:01:16.320
そのため、この一覧では記事を分けて解説しています。

15
00:01:16.320 --> 00:01:20.207
名前が同じでも、相手の種類を確認する習慣が大切です。

16
00:01:20.207 --> 00:01:27.680
個別記事を開く前に、この三つの呼び方の違いを意識すると、サンプルコードの読み方がぐっと楽になります。

17
00:01:27.680 --> 00:01:32.742
学習は、ブラウザーとノードジェイエスのどちらでも進められます。

18
00:01:32.742 --> 00:01:38.294
ブラウザーでは、開発者ツールのコンソールでそのまま実行するか、エイチティーエムエルからファイルを読み込み、

19
00:01:38.294 --> 00:01:43.845
出力はコンソールで確認します。

20
00:01:43.845 --> 00:01:51.520
ノードジェイエスでは、ファイルを保存して、ターミナルでノードとファイル名を指定して実行します。

21
00:01:51.520 --> 00:01:57.888
個別記事の完成例は、画面操作に依存しない作りなので、どちらの環境でも試せます。

22
00:01:57.888 --> 00:02:02.133
ただし、機能によっては対応するバージョンが必要です。

23
00:02:02.133 --> 00:02:06.378
動かないときは、まず実行環境の版を確認してください。

24
00:02:06.378 --> 00:02:12.420
小さな例を自分で書き換えて結果を比べることが、仕様を覚える一番の近道です。

25
00:02:12.420 --> 00:02:16.157
最も項目が多いのが配列で、十六項目あります。

26
00:02:16.157 --> 00:02:19.045
役割で分けると覚えやすくなります。

27
00:02:19.045 --> 00:02:25.839
マップは変換、フィルターは条件に合う要素の抽出、リデュースは合計などの集計です。

28
00:02:25.839 --> 00:02:31.954
ファインドは最初の該当要素、ファインドインデックスはその位置を探します。

29
00:02:31.954 --> 00:02:36.880
サムは一つでもあるか、エブリはすべて満たすかを判定します。

30
00:02:36.880 --> 00:02:46.392
そのほか、切り取るスライス、削除と挿入のスプライス、並べ替えのソート、入れ子を平らにするフラットなどがあります。

31
00:02:46.392 --> 00:02:53.696
ソートとスプライスは元の配列を変えるので、元を残したい場合は先にコピーを作りましょう。

32
00:02:53.696 --> 00:03:01.000
配列の処理は、ほかのカテゴリを学ぶときも土台になるので、優先して手を動かしてください。

33
00:03:01.000 --> 00:03:02.932
文字列は八項目です。

34
00:03:02.932 --> 00:03:10.081
インクルーズは含まれるか、スターツウィズは指定の文字で始まるかを調べます。

35
00:03:10.081 --> 00:03:16.844
スライスは範囲の切り出し、スプリットは区切り文字で分けて配列にします。

36
00:03:16.844 --> 00:03:23.993
トリムは両端の空白を取り除くので、利用者の入力を整えるときによく使います。

37
00:03:23.993 --> 00:03:26.312
置換には二種類あります。

38
00:03:26.312 --> 00:03:33.654
リプレイスは最初の一致だけ、リプレイスオールは一致するすべてを置き換えます。

39
00:03:33.654 --> 00:03:41.963
先頭を埋めて長さをそろえるパッドスタートは、番号や日付の表示をそろえるときに便利です。

40
00:03:41.963 --> 00:03:47.180
目的に合わせて、検索、分割、整形で使い分けてください。

41
00:03:47.180 --> 00:03:49.068
オブジェクトは六項目です。

42
00:03:49.068 --> 00:03:55.896
キーズはキーの一覧、バリューズは値の一覧、エントリーズはキーと値の組を配列として取り出します。

43
00:03:55.896 --> 00:04:03.160
逆に、組の配列からオブジェクトを作り直すのがフロムエントリーズで、エントリーズと往復できる関係です。

44
00:04:03.160 --> 00:04:08.244
アサインは、複数のオブジェクトの項目を対象へコピーしますが、コピー先自体が書き換わる点と、

45
00:04:08.244 --> 00:04:13.328
内側までは深くコピーされない点に注意してください。

46
00:04:13.328 --> 00:04:18.122
ハズオウンは、そのオブジェクト自身がキーを持つかどうかを調べます。

47
00:04:18.122 --> 00:04:22.480
データの形を変える入口として、まずこの六つを押さえましょう。

48
00:04:22.480 --> 00:04:28.872
エントリーズで取り出して加工し、フロムエントリーズで戻す流れは、実務でもよく登場します。

49
00:04:28.872 --> 00:04:32.482
数値まわりは、解析、検証、丸めに分かれます。

50
00:04:32.482 --> 00:04:38.881
パースイントとパースフロートは、文字列の先頭から読める部分だけを数に変えます。

51
00:04:38.881 --> 00:04:43.311
読めなければナンになるため、結果の確認が欠かせません。

52
00:04:43.311 --> 00:04:47.659
ユーアールエルの部品変換では、エンコードユーアールアイコンポーネントと、

53
00:04:47.659 --> 00:04:52.007
その復元のデコードが組になります。

54
00:04:52.007 --> 00:04:59.391
検証では、ナンバーイズナンがナンかどうか、イズファイナイトが有限の数かどうかを判定します。

55
00:04:59.391 --> 00:05:07.431
丸めは、切り捨てのフロア、切り上げのシール、近い整数へのラウンド、そして最大値を取るマックスです。

56
00:05:07.431 --> 00:05:11.041
入力の変換と検証は、セットで考えてください。

57
00:05:11.041 --> 00:05:17.932
特にフォームの入力は文字列で届くため、変換した後に検証する順番を忘れないでください。

58
00:05:17.932 --> 00:05:21.709
ジェイソンは二項目ですが、実務では欠かせません。

59
00:05:21.709 --> 00:05:29.419
ストリンギファイは、ジャバスクリプトの値をジェイソン文字列へ変換し、保存や送信ができる形にします。

60
00:05:29.419 --> 00:05:32.724
パースは、その逆で、文字列を値へ戻します。

61
00:05:32.724 --> 00:05:37.602
通信で受け取ったデータは、たいていこのパースを通して使います。

62
00:05:37.602 --> 00:05:41.850
注意点は、すべての値が往復できるわけではないことです。

63
00:05:41.850 --> 00:05:47.673
関数やアンディファインドなどは文字列に残らず、日時も文字列のまま戻ります。

64
00:05:47.673 --> 00:05:55.383
変換できない形式の文字列をパースするとエラーになるため、失敗に備えた処理と合わせて使ってください。

65
00:05:55.383 --> 00:06:01.520
保存と通信の境界で必ず登場するので、この二つは早めに使い慣れておくと安心です。

66
00:06:01.520 --> 00:06:05.637
非同期処理の組み合わせは、プロミスの四項目です。

67
00:06:05.637 --> 00:06:13.529
オールは、複数の処理の成功結果をまとめて待ちますが、一つでも失敗すると全体が失敗になります。

68
00:06:13.529 --> 00:06:21.764
オールセトルドは、成功か失敗かをすべて集めるので、一部の失敗があっても全体の様子を確認できます。

69
00:06:21.764 --> 00:06:26.739
レースは、成功でも失敗でも最初に決着した結果を採用します。

70
00:06:26.739 --> 00:06:35.317
エニーは、最初に成功した結果を採用し、失敗は読み飛ばしますが、すべて失敗したときだけ失敗になります。

71
00:06:35.317 --> 00:06:40.292
速さが欲しいのか、全結果が欲しいのかで選ぶことが大切です。

72
00:06:40.292 --> 00:06:48.012
タイムアウトや複数の取得先の切り替えなど、実務の工夫はこの四つの組み合わせから生まれます。

73
00:06:48.012 --> 00:06:50.464
残りの三つの領域を紹介します。

74
00:06:50.464 --> 00:06:57.165
関数の呼び出しでは、コールとアプライが、ディスと引数を指定してその場で実行します。

75
00:06:57.165 --> 00:07:01.087
違いは、引数を一つずつ渡すか、配列で渡すかです。

76
00:07:01.087 --> 00:07:06.808
バインドは実行せず、ディスや先頭の引数を固定した新しい関数を作ります。

77
00:07:06.808 --> 00:07:16.288
日時では、デートナウが現在時刻をミリ秒で返し、トゥーアイエスオー文字列が日時をユーティーシーの形式で文字列化します。

78
00:07:16.288 --> 00:07:21.681
正規表現のテストは、一致する部分があるかどうかを真偽値で返します。

79
00:07:21.681 --> 00:07:24.787
入力形式の判定によく使われる道具です。

80
00:07:24.787 --> 00:07:32.632
この三つの領域は項目数は少ないですが、つまずきやすい場所なので、注意点を丁寧に確認してください。

81
00:07:32.632 --> 00:07:34.476
最後に、学ぶ順序です。

82
00:07:34.476 --> 00:07:41.347
まず、配列のマップとフィルター、文字列のインクルーズとスプリットを試してください。

83
00:07:41.347 --> 00:07:45.537
データの変換と検索は、ほかの学習の土台になります。

84
00:07:45.537 --> 00:07:54.420
続いて、オブジェクトとジェイソンでデータの形を変える練習をし、最後にプロミスで非同期処理を組み合わせます。

85
00:07:54.420 --> 00:07:59.364
途中で、関数そのものの定義やスコープが分からなくなったら、無理に進まず、

86
00:07:59.364 --> 00:08:04.309
入門や関数の基礎記事へ戻って確認してください。

87
00:08:04.309 --> 00:08:08.834
一覧は、順番に読む本というより、目的から引く辞書です。

88
00:08:08.834 --> 00:08:13.527
必要な項目から小さく実行して確かめる習慣を続けましょう。

89
00:08:13.527 --> 00:08:19.896
困ったときは、この一覧に戻って目的から探し直す使い方も覚えておいてください。

90
00:08:19.896 --> 00:08:21.404
お疲れさまでした。
