【りてらる】

リテラル とは?

💡 コードに「そのまま書かれた値」、変数ではなく直接の値
📌 このページのポイント
リテラルと変数の比較 リテラル(値そのもの) 42 → 数値リテラル "Hello" → 文字列リテラル true → 真偽値リテラル コードに直接書かれた値 変数(値を入れる箱) x = 42 → 変数xに代入 name = "Hello" flag = true 値は後から変更できる リテラル = 値そのもの | 変数 = 値に名前をつけたもの 配列リテラル [1,2,3]、オブジェクトリテラル {a: 1} なども存在
リテラルのイメージ
ひよこ ひよこ

リテラルって何?

ペンギン先生 ペンギン先生

コードに直接書いた値のことだよ。「x = 42」の「42」が数値リテラル、「greeting = "Hello"」の「"Hello"」が文字列リテラル。変数(x・greeting)とは違って、値そのものを指す。

ひよこ ひよこ

どんな種類があるの?

ペンギン先生 ペンギン先生

数値(42・3.14)・文字列("Hello"・'World')・真偽値(true・false)・null/None・配列リテラル([1,2,3])・オブジェクトリテラル({key: value})などがある。言語によって書き方が違う。

ひよこ ひよこ

テンプレートリテラルって便利そう

ペンギン先生 ペンギン先生

JavaScriptのバッククォート(`)で囲む文字列。「`こんにちは、${name}さん!`」のように変数を埋め込める。文字列の結合演算より読みやすくて、改行も自然に書ける。

ひよこ ひよこ

テンプレートリテラルって他の言語にもあるの?

ペンギン先生 ペンギン先生

あるよ。Pythonのf文字列(f'Hello, {name}')、Kotlin文字列テンプレート("Hello, $name")、Rubyの式展開("Hello,

ひよこ ひよこ

リテラルとイミュータブル(不変)って関係あるの?

ペンギン先生 ペンギン先生

いい質問!多くの言語で文字列リテラルはイミュータブル(変更不可)。Javaの String やPythonの str は一度作ったら中身を変えられない。"Hello"[0] = 'J' はエラーになる。これはメモリ効率とスレッドセーフのためで、同じ文字列リテラルは内部的に同一のオブジェクトを共有する「文字列インターニング」という最適化が効くからなんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
リテラルって出てきたら「ソースコードに直接書かれた固定の値(数値・文字列真偽値など)」と思えばOK!
📖 おまけ:英語の意味
「Literal」 = 文字通りの・そのままの
💬 変数(variable)や式(expression)と対比して、「文字通りそのまま」の値を指す
← 用語集にもどる