💼 This rule is enabled in the ✅ recommended
config.
🔧 This rule is automatically fixable by the --fix
CLI option.
Differentiating the casing of the identifier and value clearly separates them and makes your code more readable.
- Lowercase radix identifier
0x
0o
0b
forNumber
andBigInt
. - Uppercase or lowercase hexadecimal value for
Number
andBigInt
. - Lowercase
e
for exponential notation.
// ❌
const foo = 0XFF;
const foo = 0xff;
const foo = 0Xff;
const foo = 0Xffn;
// ✅
const foo = 0xFF;
const foo = 0xFFn;
// ❌
const foo = 0B10;
const foo = 0B10n;
// ✅
const foo = 0b10;
const foo = 0b10n;
// ❌
const foo = 0O76;
const foo = 0O76n;
// ✅
const foo = 0o76;
const foo = 0o76n;
// ❌
const foo = 2E-5;
const foo = 2E+5;
const foo = 2E5;
// ✅
const foo = 2e-5;
const foo = 2e+5;
const foo = 2e5;
Type: object
Type: 'uppercase' | 'lowercase'
Default: 'uppercase'
Specify whether the hexadecimal number value (ABCDEF) should be in uppercase
or lowercase
.
Note: 0x
is always lowercase and not controlled by this option to maintain readable code.
Example:
{
'unicorn/number-literal-case': [
'error',
{
hexadecimalValue: 'lowercase',
}
]
}
// ❌
const foo = 0XFF;
const foo = 0xFF;
const foo = 0XFFn;
const foo = 0xFFn;
// ✅
const foo = 0xff;
const foo = 0xffn;