【りてらる】
リテラル とは?
最終更新:
💡 変数の名前と、値を直接表す表記を区別
コード中で値を直接表す表記。JavaScriptでは42や"Hello"、trueなどのほか、配列やオブジェクトを作るリテラルもある。リテラルという書き方と、値を変更できるかどうかは別。
📌 このページのポイント
リテラルって何?
例えばJavaScriptのlet count = 42;では、countは変数の名前で、42が数値リテラルだよ。let greeting = "Hello";なら"Hello"が文字列リテラル。同じ代入文に、変数の名前とリテラルが一緒に登場するんだ
どんな種類があるの?
JavaScriptでは数値、文字列、真偽値などのほか、[1, 2]のような配列や、{name: "A"}のようなオブジェクトを作る表記もリテラルと呼ぶよ。種類や書き方は言語によって違うので、ここではJavaScriptの例で考えよう
リテラルなら中身は全部、固定の値なの?
配列リテラルの[1, count + 1]のように、式を含めることもできるよ。その要素は式を実行して決まる。コードに直接書く表記だからといって、中に含む値が全て事前に固定されるわけではないんだ
テンプレートリテラルって便利そう
JavaScriptのバッククォートで囲む表記だよ。例えば`こんにちは、${name}さん!`なら、nameの値を埋め込む。${1 + 2}のような式も使えて、改行も書ける。式の結果を組み込むので、毎回同じ文字列になるとは限らないんだ
リテラルとイミュータブル(不変)って関係あるの?
書き方と、作った値を変更できるかは別だよ。例えばlet items = [1, 2];で配列を作り、items[0] = 9;で要素を変更できる。「リテラルで作ったから不変」とは言えないんだ。不変かどうかは、その言語の値の種類などで判断するよ
まとめ:ざっくりこれだけ覚えればOK!
「リテラル」って出てきたら「コード中で値を直接表す表記」と思えばだいたいOK!
📖 おまけ:英語の意味
「Literal」 = 文字通りの・そのままの
💬 変数(variable)や式(expression)と対比して、「文字通りそのまま」の値を指す