JavaScriptの基本文法
データ型
変数に型はないが値には型がある(動的型付け)。値の型をデータ型という。
プリミティブ型とオブジェクトの2つに分類される
プリミティブ型(基本型)
一度作成したらその値自体を変更できない(イミュータブル)
JavaScriptでは文字列もイミュータブル
Boolean, Number, String, undefined, null型などがある
TypeScriptではboolean, numberのように小文字で表記される
オブジェクト(複合型、参照型)
複数のプリミティブ型の値またはオブジェクトからなる集合
一度作成した後もその値自体を変更できる(ミュータブル)
オブジェクトを複製するときには注意
typeof 演算子でデータ型を調べられる
console.log(typeof "hello");
console.log(typeof function() {});
変数宣言
基本的にconstをつかうべき
let:再代入可能な変数の宣言
let name = "Mike";
const:再代入不可能な変数
const name = "Mike";
if文とfor文
基本的にJavaと同じ
map, reduce, filterをよくつかうのでfor文を使う機会はあまりない
code:if-for.js
const fruits = "apple", "grape", "orange";
for (let i = 0; i < fruits.length; i++) {
if (fruitsi === "grape") console.log("grape!");
}
undefinedまたはnullの判定
if (variable == null)がtrueのときundefinedまたはnull
テンプレートリテラル
文字列の中に変数を埋め込むことができる
+演算子で文字列を結合するよりみやすい
code:template-literal.js
const name = "Mike";
console.log(${name}はアメリカ人です。);
console.log(name + "はアメリカ人です。");
等価演算子
==,!=とは別に厳密等価演算子===,!==がある
==では、比較する2つの値が同じ値だったとき true
2 つの値のデータ型が異なる場合は同じ型になるように変換された後で比較される
値がオブジェクトだったとき、 2 つの値が同じオブジェクトを参照しているときのみ true
===では、比較する2つの値が同じデータ型で同じ値だったとき true
同じ型で同じ値であるとき true
値がオブジェクトのとき、 2つの値が同じオブジェクトを参照しているときのみtrue
配列
const fruits = ["apple", "banana", "orange"]のように宣言
fruits[0]とかでアクセスできる
要素数の取得は配列変数名.length
オブジェクト
宣言:{プロパティ1 : 値1, プロパティ2 : 値2}
例:const item = {name : "手裏剣", price : 300};
オブジェクトの値取り出し オブジェクト.プロパティ名;
例:item.name
関数のときは、オブジェクト名.プロパティ名();
関数
JavaScriptにおける関数はオブジェクト(第一級関数)
変数に関数を代入できる
関数の引数に関数を渡せる
関数の定義
code: function.js
function func_name() {
...
}
// 関数式
const 定数名 = function() {
...
};
// アロー関数
const add = (x, y) => {
return x + y;
};
アロー関数
こんな形のやつ() => {}
省略記法がすこしややこしい
関数の仮引数が1つのときは()を省略できる
関数の処理が1つの式である場合に、ブロックとreturn文を省略できる
その式の評価結果をreturnの返り値とする
code:arrow-function.js
// 仮引数の数と定義
const fnA = () => { /* 仮引数がないとき */ };
const fnB = (x) => { /* 仮引数が1つのみのとき */ };
const fnC = x => { /* 仮引数が1つのみのときは()を省略可能 */ };
const fnD = (x, y) => { /* 仮引数が複数のとき */ };
// 値の返し方
// 次の2つの定義は同じ意味となる
const mulA = x => { return x * x; }; // ブロックの中でreturn
const mulB = x => x * x; // 1行のみの場合はreturnとブロックを省略できる
コールバック関数
JavaScriptでは関数の引数に関数を渡せる
その引数に渡される関数をコールバック関数という
code:callback.js
const call = (callback) => {
console.log("コールバック関数を呼び出します。")
callback();
}
call(()=>{console.log("やっほー")});
参考
https://jsprimer.net/
public.icon