Skip to content

noUnassignedVariables

¥Summary

¥How to configure

biome.json
{
"linter": {
"rules": {
"suspicious": {
"noUnassignedVariables": "error"
}
}
}
}

¥Description

禁止读取但从未赋值的 letvar 变量。

¥Disallow let or var variables that are read but never assigned.

此规则标记从未赋值但仍在代码中被读取或使用的 let 或 var 声明。由于这些变量始终为 undefined,因此使用它们很可能是编程错误。

¥This rule flags let or var declarations that are never assigned a value but are still read or used in the code. Since these variables will always be undefined, their usage is likely a programming mistake.

¥Examples

¥Invalid

let status;
if (status === 'ready') {
console.log('Status is ready');
}
code-block.js:1:5 lint/suspicious/noUnassignedVariables ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The variable ‘status’ is declared but never assigned a value.

> 1 │ let status;
^^^^^^
2 │ if (status === ‘ready’) {
3 │ console.log(‘Status is ready’);

Variable declared without assignment. Either assign a value or remove the declaration.

let value: number | undefined;
console.log(value);
code-block.ts:1:5 lint/suspicious/noUnassignedVariables ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The variable ‘value’ is declared but never assigned a value.

> 1 │ let value: number | undefined;
^^^^^^^^^^^^^^^^^^^^^^^^^
2 │ console.log(value);
3 │

Variable declared without assignment. Either assign a value or remove the declaration.

¥Valid

let message = "hello";
console.log(message);
let user;
user = getUser();
console.log(user.name);
let count;
count = 0;
count++;
declare let value: number | undefined;
console.log(value);
declare module "my-module" {
let value: string;
export = value;
}

¥Related links