わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

JavaScriptについて,知っておくとよいこと2

 JavaScriptで最低限知っておきたい文法知識です.
 変数は宣言することなく使用できます.宣言する場合には,昔は「var a;」のように書いていましたが,最近では「let a;」と書くのがよりよいとされています.宣言と合わせて値を格納し,今後変更(再代入)しないのであれば「const a = 式;」のように書きます.varやletでも,「=式」の初期化を書くことはできます.
 初期化にせよ代入にせよ,式は,数でも文字列でもかまいません.ある変数について,最初は文字列が格納され,ある代入によって数値,その次は配列となっても,特にエラーは起こりません(よい書き方とは言えませんが).動的型付き言語と呼ばれます.
 代入文,ifやforなどの制御文,演算子は,おおむねCと同じです.Cになくて(最近の)JavaScriptで使用可能な演算子として,べき乗があります.2**3は,2の3乗で8となります.2**0.5は\sqrt{2}を計算しまして,手元のブラウザでは「1.4142135623730951」となりました.
 型を指定しないことは,関数定義の仕方にも反映されています.どんな値を返す,または返すことがない関数であっても,最初に「function」と書きます.書式は次のとおりです.

function 関数名(引数1, 引数2, …) {
    処理
}

 関数呼び出しの際,引数に定義済みの関数名を指定することもよくあります.
 ライブラリ関数も充実しています.上で,べき乗演算子平方根を求める式を書きましたが,一般にはMath.sqrt(式)と書きます(sqrtはsquare rootの略です).数学関数の一覧はMath - JavaScript | MDNを見るとよいでしょう.
 配列は,「a = [1, 3, 5];」のように「[」と「]」で囲みます.配列の要素の参照はCと同様に書くことができ,前文の代入をしたあとには,a[0]が1,a[1]が3,a[2]が5と等しくなります.「a = [1, "3", {b: "c"}];」のように,各要素が異なるものにすることもできます(ですので,配列というよりはリストです).
 やや複雑な代入として,let a;と宣言した変数に対し,次の4つの文は同じ処理となります.

a["b"] = "c";
a.b = "c";
a = {b: "c"};
a = {"b": "c"};

 いずれも,a["b"]またはa.bという式で参照ができ,得られる値は"c"です.ここでも,右辺(イコールのあと)に関数名を書いたり,function () {…}と書いて関数を定義したりできます.
 文字列の連結に,演算子+が使用できます.「"2020" + "0426"」は,"20200426"となります*1.「文字列+数値」や「数値+文字列」は,数値のほうが文字列になってから連結しますので,2+""は,"2"となります.文字列を数値にするには,Number関数を使用します(Number("1000")は,1000です).
 文末にセミコロンを書くのは必須ではありません(が付けるのがよいでしょう).全角空白も,空白文字とみなされます.もちろん,"と"で囲まれた中では,半角空と全角の空白は区別されます.

*1:「2020 + 0426」は,2446に…なってくれません.先頭が0の整数値は8進数と見なされ,10進数の2020と,8進数の426(10進数の278)の和で,2298となります.Cも同じです.