Use of apostrophe vs single quote/backtick



我是Angular的新手,在遵循教程的同时,我在编写模块时习惯了一点习惯:

.state('sports.medals', {
    url: '/:sportName',
    templateUrl: 'sports/sports-medals.html',
    resolve: {
      sportService: function($http, $stateParams){
        return $http.get('/sports/${ $stateParams.sportName }');
      }
    },

这在项目的其余部分中完美地编译了,没有错误。但是,当对此功能进行调用时,它将get内容读取为一个整个字符串,而不是按照应有的解析。

调用此问题的正确方法显然是:

 .state('sports.medals', {
        url: '/:sportName',
        templateUrl: 'sports/sports-medals.html',
        resolve: {
          sportService: function($http, $stateParams){
            return $http.get(`/sports/${ $stateParams.sportName }`);
          }
        },

使用 ` apostrophe/backtick而不是单个报价 '

作为程序员,我几乎总是在参数中使用JavaScript和/或double引用时几乎只使用单个报价,因此这使我感到惊讶,并且并不明显。是否有这种行为的理由记录在某个地方?我应该习惯于在单语引号上使用反击吗?我想避免其他这样的惊喜。

弦乐插值工作是必需的。这是一个称为模板插值的ES6功能:https://developer.mozilla.org/en-us/docs/web/javascript/reference/reference/template_literals。

有时它将可用于您,但是就浏览器支持https://caniuse.com/#feat=template-literals而言,它仍然远非广泛。熟悉它并在可能的情况下使用它!

模板文字由后脚``(严重的口音)字符而不是双引号。

javaScript中的模板文字/字符串文字使用背面刻度。它们是E6特征,仅是串联的句法糖。模板文字在现代浏览器中得到了广泛支持,并在Nodejs中得到了支持。当不使用模板时,应使用double(")或单个(')引号。

MDN具有文档,可以提供有关模板文字用途的更多信息:模板文字

最新更新