2017-07-03 5 views
1

でのconstで私は角turorialを通過していると私は私が$ {の前に `を使用する必要がある理由

https://angular.io/tutorial/toh-pt6

const url = `${this.heroesUrl}/${hero.id}`; 

以下、誰かが説明できご覧バック使います?これはタイプスクリプトなのでjavascriptと似ていませんので

this.heroesUrl + "/" + hero.id 

なぜ私はバックティックと$ {操作を使用する必要がありますか?

+0

これらは[テンプレートリテラル](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Template_literals)と呼ばれています。あなたは**それらを使用する**を持っていない、あなたは間違いなく後者のオプションを使用することができますが、はるかに簡単な最初のオプションではありません? – Saravana

答えて

2

これはTemplate literalsと呼ばれ、javascriptの機能であり、typesScript固有のものではありません。で

const url = `${this.heroesUrl}/${hero.id}`; 

確かに、あなたは確かにこれを置き換えることができます

const url = this.heroesUrl + "/" hero.id; 

しかし、文字列がたくさんで作られている場合は特に、時々テンプレートリテラルを使用することがより快適です部品のすなわち:

const url1 = protocol + "://" + host + ":" + port + "/" + path + "." + extension; 
const url2 = `${protocol}://${host}:${port}/${path}.${extension}`; 
-1

を活字体は、ES5のスーパーセットですが、それはいくつかのES6の機能が含まれているので、それはES6 template literalのほんの一部だし、そう活字体は、(あなたが偶然にそれらを使用するように強制していない)/継承し、これを許可考えます。

+0

どのES6機能がTypeScriptに含まれていませんか? –

関連する問題