4

これが私のコードです:

let padded = "03";
ascii = `\u00${padded}`;

しかし、私Bad character escape sequenceはバベルから受け取ります。私は最終的にしようとしています:

\u0003

ascii変数で。私は何を間違っていますか?

編集:

で終わったascii = (eval('"\\u00' + padded + '"'));

4

1 に答える 1

5

私は何を間違っていますか?

Unicode エスケープ シーケンスは基本的にアトミックです。実際に動的に構築することはできません。テンプレート リテラルは基本的に文字列連結を実行するため、コードは次のようになります。

'\00' + padded

なぜそのエラーが発生するのかは明らかです。対応する Unicode 文字を取得したい場合は、代わりにString.fromCodePointorを使用できString.fromCharCodeます。

String.fromCodePoint(3)

文字シーケンス を文字どおりに含む文字列が\u0003必要な場合は、エスケープ文字をエスケープして文字どおりのバックスラッシュを生成する必要があります。

`\\u00${padded}`
于 2015-11-23T14:58:37.617 に答える