在JavaScript源代码中使用UTF-8字符文字是否安全?

blo*_*ilk 3 javascript utf-8

是否可以编写包含UTF-8字符文字的JavaScript源代码(在浏览器中执行)?

例如,我想在字符串中使用省略号文字:

var foo = "Oops… Something went wrong";
Run Code Online (Sandbox Code Playgroud)

"现代"浏览器是否支持此功能?某个地方是否有已发布的浏览器支持矩阵?

Poi*_*nty 6

JavaScript规范是一种Unicode语言,因此字符串中的Unicode字符应该是安全的.您可以使用十六进制转义符(\u8E24)作为替代.确保您的脚本文件包含正确的内容类型标头.

请注意,超出单字节和双字节序列的字符是有问题的,并且JavaScript正则表达式对于第一个代码页之外的字符非常糟糕.(好吧也许不是"可怕的",但充其量是原始的.)

您还可以在标识符中使用Unicode字母,Unicode组合标记和Unicode连接符标点符号,以防您想要给朋友留下深刻印象.从而

var wavy?line = "wow";
Run Code Online (Sandbox Code Playgroud)

是一个非常好的JavaScript(但如果你找到一个不起作用的浏览器,你的错误报告会好运).

阅读规范中的所有内容,或者在晚上使用它来入睡:)