🌵

freecodecampで草を生やす - javascript編

2021/03/30に公開

https://www.freecodecamp.org/e99h2121

freecodecampを地味に続けており、改めて教科書的な内容なのだが、メモが溜まってきたので一旦書いておく。いずれも脈絡はない。主にへええと思った部分を書いただけ。

変数

JavaScriptの変数は、宣言された時点では初期値が未定義になっています。未定義の変数に対して数学的な演算を行うと、結果は「Not a Number」を意味するNaNになります。未定義の変数に文字列を連結すると、リテラルで未定義の文字列が生成されます。

MYVARMyVarmyvar と同じではありません。同じ名前で異なる大文字小文字のばあいに、複数の異なる変数を持つことが可能です。分かりやすくするために、この言語機能は使わないことを強くお勧めします。

Best Practice

JavaScriptの変数名はキャメルケースで書きましょう。キャメルケースでは、複数の単語からなる変数名は、最初の単語を小文字にし、後続の各単語の最初の文字を大文字にします。

myVar = myVar / 5;

myVarを5で割ることになります。これは次のように書き換えることができます。
myVar /= 5;

=====

比較される値の型が異なる場合、それらは不等式とみなされ、厳密な等式演算子はfalseを返します。

例)

3 === 3
3 === '3'

これらの条件は、それぞれtrueとfalseを返します。
2番目の例では、3はNumber型、'3'はString型です。

inとhasOwnProperty
https://qiita.com/shuhei/items/dabf0ca097f05264baf9

再帰
https://qiita.com/jumpyoshim/items/20e6b5e70efa466699b4

ES6
https://qiita.com/soarflat/items/b251caf9cb59b72beb9b

アロー関数
https://qiita.com/Saaaam/items/14ee6e4b63657b53b088

const greeting = (name = "Anonymous") => "Hello " + name;
console.log(greeting("John"));
console.log(greeting());

コンソールにはHello JohnとHello Anonymousという文字列が表示されます。

デフォルトのパラメータは、引数が指定されていない(未定義である)場合に起動します。上の例のように、パラメータ名に値を指定しなかった場合、Anonymousのデフォルト値を受け取ります。必要な数のパラメータにデフォルト値を追加することができます。

const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
let arr2 

arr2 = [...arr1]; 

console.log(arr2);

結果:

(5) ["JAN", "FEB", "MAR", "APR", "MAY"]
0: "JAN"
1: "FEB"
2: "MAR"
3: "APR"
4: "MAY"
length: 5
export default function(x, y) {
  return x + y;
}

export default は、モジュールやファイルの予備の値を宣言するために使われるので、各モジュールやファイルでデフォルトの export にできる値は 1 つだけです。さらに、export defaultはvar、let、constと一緒に使うことはできません。

Discussion