web-dev-qa-db-ja.com

8進リテラルは、厳密モードでは許可されていません

私はAngular 2。

これをSCSSファイルで使用すると、うまく機能します。

.text::after {
  content: "\00a0\00a0";
}

しかし、私がそれを動かすと

styles: [``]

それが示している:

キャッチされないSyntaxError:8進リテラルは、strictモードでは許可されません。

styles: [``]のコードはCSSコードである必要があることを知っています。

そして、私は試した

styles: [`
    .text::after {
      content: "  ";
    }
`]

ただし、画面には  が直接表示されます。どうすれば正しく書くことができますか?

19
Hongbo Miao

あなたはそれをエスケープする必要があります

.text::after {
  content: "\\00a0\\00a0";  // now it's just a simple plain string
}

"use strict" は、JavaScript 1.8.5(ECMAScriptバージョン5)で導入された新しい機能です。

その中で、

  • 8進数の数値リテラルは使用できません
  • エスケープ文字は使用できません
  • 詳細...
27
Ankit Singh