Javascriptでわかりずらかったことのメモです。
##可変引数
コード
function test(...args) {
console.log(args);
}
test("1", "2");
結果
[ '1', '2' ]
##論理演算子と代入
コード
var a = "1";
var b = "2";
var c = a && b;
console.log(c);
var d = a || b;
console.log(d);
結果
2
1
a && bは!a ? a : b; と同じ。
a || bはa ? a : b; と同じ。
こちらを参考
https://qiita.com/masakazu_ca/items/3ce9228a6c009499cb79
##キーの名前でメソッド的
コード
var map = {a:"1"};
console.log(map.a);
結果
1
##変数名がキー名になる
var b = "2";
console.log({a:"1",b});
結果
{ a: '1', b: '2' }
##ドット三つの奴を使う
ドット三つを使うコード
var b = {'B': { "C": 'Cのvalue', }};
console.log({a:"Aのvalue",...b});
結果
{ a: 'Aのvalue', B: { C: 'Cのvalue' } }
ドット三つの奴を使わないと
ドット三つを使わないコード
var b = {'B': { "C": 'Cのvalue', }};
console.log({a:"Aのvalue",b});
結果
{ a: 'Aのvalue', b: { B: { C: 'Cのvalue' } } }
##letとvarの違い
varは再宣言可能
letは再宣言不可
varのコード
var a = "1";
var a = "2";
console.log(a);
結果
2
letのコード
let a = "1";
let a = "2"; // letで宣言された変数名はスコープ内に一つだけ
console.log(a);
結果
ERROR:
let a = "2";
^
こちらを参考。
https://qiita.com/y-temp4/items/289686fbdde896d22b5e