💨

"" '' ` の違い完全整理:Java・JavaScript・Pythonの文字列リテラル文化を横断解説!

に公開

テンプレートリテラルとは?

  • 定義: 文字列中に ${式}{式} を埋め込める構文
  • JS: `Hello ${name}`
  • Python: f"Hello {name}"

特に "(ダブルクオート)"'(シングルクオート)'`(バッククオート)` の違いは、 Java / JavaScript / Python で大きく扱いが異なります。


✅ Javaの場合

記号 用途 補足
"" 文字列 String "hello" 複数文字OK
'' 単一文字 char 'h' 1文字のみ
` × 存在しない構文、書けばエラー
String s = "hello";    // OK
char c = 'h';          // OK
char c2 = 'hello';     // ❌ エラー
String s2 = 'hello';   // ❌ エラー
String s3 = `hello`;   // ❌ エラー

✅ JavaScriptの場合

記号 特徴
"" / '' string 単なる文字列。機能差はない
` ` string テンプレートリテラル${}で式展開、複数行OK
let name = "Taro";
console.log("Hello " + name);      // OK
console.log(`Hello ${name}`);     // テンプレートリテラル

✅ Pythonの場合

Pythonではテンプレートリテラルに相当するのが f-string(フォーマット済み文字列)

方法 補足
f-string f"Hello {name}" Python 3.6以降。推奨
str.format() "Hello {}".format(name) 古い形式
% 記法 "Hello %s" % name 最古の形式。非推奨
name = "Taro"
print(f"Hello {name}")  # OK

msg = f"""
こんにちは、{name}さん。
ようこそ!
"""  # 改行にも対応

🧠 総まとめ

言語 ダブルクオート "" シングルクオート '' バッククオート ``
Java String(複数文字) char(1文字のみ) ❌ 構文エラー
JS string(同じ意味) string(同じ意味) ✅ テンプレートリテラル
Python str(同じ意味) str(同じ意味) ❌ 構文エラー

こうした基本の違いを押さえておくと、
異なる言語を扱う時の読み書きミスを減らせるだけでなく、設計の意図や歴史も見えてきます

基本的な内容ですが、ここの違いが明確に説明できるようになりたいですね。

Discussion