web-dev-qa-db-ja.com

jsでのバックティックvsシングルクォート

Node.js(サーバー側)で作業すると、コードの一貫性が保たれるため、常に通常の引用符( "または ')ではなくすべてのバックティック(`)を使用する必要があるのでしょうか。特定の理由はありますか?さまざまな種類の異なる種類の引用符を保持します。すべての非置換引用符がバックティックに変換されると、パフォーマンスに影響しますか?

13

バックティックを使用すると、たとえば次のような文字列テンプレートを使用できます。

var value = 4;
var str = `text with a ${value}`
// str will be  : 'text with a 4'

ために "'この投稿を見てください: https://stackoverflow.com/a/9959952/6739517

パフォーマンスに関しては、プレーンストリングにバックティックを使用しているだけでも同じように見えます。ただし、文字列を作成するときは、連結がまだ先の方法のように見えます。ここを見てください:

2018の更新:ES6文字列のテンプレート化は、場合によっては連結よりも高速になる可能性があります。いくつかの具体的な数値については、次の投稿をご覧ください。

ES6テンプレートリテラルは文字列連結より高速ですか?

15
Niles Tanner

バッククォートまたは単一引用符を使用して文字列を作成する場合のパフォーマンスの違いは非常に小さいので、どちらか一方を使用する理由としてそれを考慮する必要はないと思います。 これのいくつかの基本的な証拠があります

ただし、テンプレートではない文字列にテンプレート文字列を使用することには反対します。これは、単一引用符を使用すると、テンプレートが発生しないことが明らかだからです。バックティック付きの文字列を見た場合、すぐにハンティングを開始して、何が置換されるのか、またはそれらが使用された理由を確認します。対照的に、単一引用符は非常に明確です。

パフォーマンスに影響することはないと思いますが、「一貫性を保つため」に実行する必要があるとも思いません。 whileまたはforループと同じように、完全に異なる構成なので、一貫性がありません。それらは、さまざまな仕事のためのさまざまなツールです。

9
Shadow

バックティック( ``)はテンプレートリテラルと呼ばれます。これらはES6の一部です。違いは:

var name = "world";
var greetES5 = 'Hello '+name;//using single quote
var greetES6 = `Hello ${name}`;//using ticks

詳細については、MDN ここ を参照してください。