#JavaScriptメモ
###データ型
- 文字列(String) 'hello', "うおおおお"
- 数値(Number) 1, 1.2, -9, -1.7, NaN
- Undefined
- null
- 真偽値(Boolean) true, false
- オブジェクト(Object) {a: 1, b: 2}
###論理演算子
- (等しい) ===
- (等しくない) !==
- (かつ) &&
- (または) ||
- (でない) !
###条件演算子
main.js
条件式 ? 条件式がtrueのときの処理 : 条件式がfalseのときの処理
###switch文
main.js
const number = 1;
switch (number) {
case 9:
console.log(9);
break;
case 8:
case 7:
console.log(8 + 'or' + 7);
break;
default:
console.log('numberは9でも8でも7でもありません');
break;
}
中身が一度は実行されるwhile文
main.js
yen = -10
do {
console.log(`${yen} 円残ってます`); // バッククオートと&{}で変数を埋め込む
yen -= 10;
} while (yen > 0);
関数式
const 定数名 = function(仮引数, ...) {
処理;
return 返り値;
};
呼び出し→ 定数名(実引数, ...);
アロー関数
main.js
// const sum = function(a, b, c) {
// return a + b + c;
// }; と同じ意味↓
const sum = (a, b, c) => a + b + c;
配列
main.js
const numbers = [0, 1, 2, 3]; // 配列
numbers.length; // 配列の長さ
numbers.push(4); // 配列の末尾に4を追加。削除はpop()
numbers.unshift(-1); // 配列の先頭に-1を追加。削除はshift()
console.log(numbers); // [-1, 0, 1, 2, 3, 4]
numbers.splice(1, 2, 5, 6); // splice(変化が開始する位置, 削除数, 追加する要素, ...)
console.log(numbers); // [-1, 5, 6, 2, 3, 4]
###スプレット構文
...ってやつ!
main.js
const numbers = [10, 20];
const otherNumbers = [90, 80, ...numbers];
console.log(otherNumbers); // [90, 80, 10, 20]
function sum(a, b) {
console.log(a + b);
}
sum(...numbers); // 30
分割代入
main.js
const scores = [60, 40, 30, 80];
const [a, b, c, d] = scores;
console.log(a); // 60
console.log(b); // 40
console.log(c); // 30
console.log(d); // 80
const [e, f, ...others] = scores;
console.log(e); // 60
console.log(f); // 40
console.log(others); // [30, 80]
let x = 1;
let y = 2;
[x, y] = [y, x];
console.log(x); // 2
console.log(y); // 1
コールバック関数
// function 高階関数(コールバック関数) {
// // 処理
// コールバック関数();
// }
const unfollow = function () {
console.log("フォローを外しました。")
}
const cancelTweet = function () {
console.log("ツイートをキャンセルしました。")
}
function confirmed(fn: () => void) {
if (window.confirm("実行しますか?")) {
fn();
}
}
confirmed(unfollow)
confirmed(cancelTweet)