no-nonoctal-decimal-escape
不允許在字串字面值中使用 \8
和 \9
跳脫序列
雖然在 ECMAScript 2021 之前未在語言中指定,但大多數 JavaScript 引擎都允許字串字面值中的 \8
和 \9
跳脫序列,並將其視為「無用」的跳脫
"\8" === "8"; // true
"\9" === "9"; // true
自 ECMAScript 2021 起,這些跳脫序列被指定為非八進位十進位跳脫序列,保留相同的行為。
儘管如此,ECMAScript 規範仍將字串字面值中的 \8
和 \9
視為舊版功能。如果 ECMAScript 主機不是網頁瀏覽器,則此語法是可選的。瀏覽器仍然必須支援它,但僅在非嚴格模式下。
無論您目標的環境為何,撰寫新程式碼時都不應使用這些跳脫序列。
規則詳細資料
此規則不允許字串字面值中使用 \8
和 \9
跳脫序列。
此規則的不正確程式碼範例
在遊樂場中開啟
/*eslint no-nonoctal-decimal-escape: "error"*/
"";
"";
var foo = "wless";
var bar = "December 1";
var baz = "Don't use and escapes.";
var quux = "\0";
此規則的正確程式碼範例
在遊樂場中開啟
/*eslint no-nonoctal-decimal-escape: "error"*/
"8";
"9";
var foo = "w8less";
var bar = "December 19";
var baz = "Don't use \\8 and \\9 escapes.";
var quux = "\0\u0038";
相關規則
版本
此規則在 ESLint v7.14.0 中引入。