文字列リテラル(クォートとエスケープ)
構文の説明
//囲んでいるクォートと同じクォートを文字列の中で使うとSyntaxError(構文エラー)になります。
//エラーになる例
console.log('I'm fine.');
console.log("input type="text"");
console.log(``const` は定数`);
//文字列の中で使うクォートと異なるクォートで囲むと、正しく表示されます。
//正しく出力される例
console.log("I'm fine.");
console.log(`input type="text"`);
console.log('`const` は定数');例題
次のコードはエラーになります。エラーにならないように修正してください。
console.log('I'm hungry.'); console.log("I'm hungry.");
または
console.log(`I'm hungry.`);
問題
次のコードはエラーになります。エラーにならないように修正してください。
console.log("She said "Hello!""); console.log('She said "Hello!"');
または
console.log(`She said "Hello!"`);
console.log("I like "pizza" and "sushi"."); console.log('I like "pizza" and "sushi".');
または
console.log(`I like "pizza" and "sushi".`);
console.log('That's great'); console.log("That's great");
または
console.log(`That's great`);
console.log(`This is a `template` literal example.`);
console.log("This is a `template` literal example.");
または
console.log('This is a `template` literal example.');
console.log('She said "I'm OK"');console.log(`She said "I'm OK"`);
次のコードはエラーになります。どのように修正したら良いか確認しましょう。
console.log("She said `I'm "OK"`");console.log("She said `I'm \"OK\"`");
\ (バックスラッシュ)を付けてエスケープ処理をすると、文字列中で囲んでいるクォートと同じ記号もそのまま使用できます。
この問題のように、文字列の中で ' " ` をすべて使用したい場合など、囲んでいるクォートと同じ記号の前に \を付けてエスケープ処理ができます。
次のコードはエラーになります。エラーにならないようにエスケープを使って修正してください。
console.log('It's Good.')console.log('It\'s Good.')
console.log("He said "Thanks" to me.");console.log("He said \"Thanks\" to me.");
console.log(`Use the `const` keyword.`);
console.log(`Use the \`const\` keyword.`);
console.log("He said `I'm "happy"`");console.log("He said `I'm \"happy\"`");

