ES6(ECMAScript 6)のテンプレートリテラルがJavaScriptで動かない原因と対処法
JavaScriptでテンプレートリテラルが正しく動作しない場合、最もよくある原因は引用符の種類の間違いです。テンプレートリテラルを使用するには、シングルクォート(' ')やダブルクォート(" ")ではなく、バッククォート(` `)で文字列を囲む必要があります。
バッククォートは、キーボードの左上(数字の「1」の左側)にある「`」キーです。見た目がシングルクォートと似ているため、うっかり混同してしまうケースが非常に多いのです。
コード例
以下に、テンプレートリテラルを使ったサンプルコードを示します。
var firstName="John";
var lastName="Smith";
console.log(`First Name is= ${firstName}\nLast Name is= ${lastName} `);
このようにバッククォート内では ${変数名} の形式で変数を埋め込めるほか、「\n」による改行もそのまま反映されます。
プログラムの実行方法
上記のプログラムを実行するには、ターミナルまたはコマンドプロンプトで以下のコマンドを入力します。
node fileName.js
ここでは、ファイル名を demo320.js として保存しています。
実行結果
プログラムを実行すると、次のような出力が得られます。
PS C:\Users\Amit\javascript-code> node demo320.js First Name is= John Last Name is= Smith
まとめ
テンプレートリテラルが機能しないときは、まず文字列がバッククォート(`)で囲まれているかを確認しましょう。シングルクォートで囲んだ状態で ${} を使っても、それは単なる文字列として出力されるだけで、変数の値は展開されません。ES6以降の環境(Node.js や最新ブラウザ)であれば、バッククォートさえ正しく使えば問題なく動作します。
-
JavaScriptのaddEventListener()でボタンクリックを複数回検知する方法
JavaScriptのaddEventListener()は、一度登録すれば同じイベントが発生するたびに何度でも呼び出される仕組みです。ボタンのクリックに対して繰り返し処理を実行させたい場合は、以下のコードのように実装します。 コード例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initi
-
JavaScriptでinput type="submit"が機能しない場合の対処法
input type=submit が正しく動作しない場合の解決策として、onclick イベントを活用する方法があります。フォーム送信時のデフォルト動作を制御することで、意図した通りの処理を実現できます。 コード例 以下が実際のサンプルコードです。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=devi