JavaScriptで変数を文字列に埋め込む方法
JavaScriptで文字列を扱う際、変数の値を文字列内に埋め込みたい場合があります。本記事では、その方法について、具体例を交えながら解説します。
バッククォート(` `)による埋め込み
JavaScript ES6 (ECMAScript 2015) から導入された「バッククォート(`
)」を使うと、簡単に文字列に変数を埋め込むことができます。以下のように、バッククォートで括った文字列の中に、${変数名}
の形で変数名を記述します。
<script>
const name = "太郎";
const age = 20;
const message = `私の名前は${name}です。${age}歳です。`;
console.log(message); // 出力結果: 私の名前は太郎です。20歳です。
</script>
メリット
バッククォートによる埋め込みには、以下のようなメリットがあります。
メリット | 説明 |
---|---|
可読性の向上 | 文字列と変数が明確に分離され、コードが見やすくなります。 |
複数行の文字列に対応 | バッククォートで囲むことで、複数行にわたる文字列を簡単に定義できます。 |
式や関数呼び出しも可能 | ${} 内には、変数だけでなく、式や関数呼び出しを記述することも可能です。 |
使用例
以下に、具体的な使用例をいくつか示します。
クラスのメンバ
<script>
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
getGreeting() {
return `こんにちは、${this.name}さん!`;
}
}
const user = new User("太郎", 20);
console.log(user.getGreeting()); // 出力結果: こんにちは、太郎さん!
</script>
数式
<script>
const price = 1000;
const tax = 0.1;
const totalPrice = `合計金額は${price * (1 + tax)}円です。`;
console.log(totalPrice); // 出力結果: 合計金額は1100円です。
</script>
参考記事
よくある質問
Q1. バッククォート以外で変数を埋め込む方法はありますか?
A1. はい、`+`演算子を使う方法があります。例えば、`'私の名前は' + name + 'です。'`のように記述します。しかし、この方法は可読性が低くなるため、バッククォートを使う方法が推奨されます。
Q2. ${}
内にJavaScriptのコードを記述することはできますか?
A2. はい、可能です。${}
内には、変数だけでなく、式や関数呼び出しなどのJavaScriptのコードを記述することができます。
Q3. バッククォートは古いブラウザでは使えませんか?
A3. Internet Explorer 11などの古いブラウザでは、バッククォートがサポートされていません。そのような場合は、Babelなどのトランスパイラを使って、ES6のコードを古いJavaScriptに変換する必要があります。
その他の参考記事:JavaScript 変数