Avoid unnecessary constraints on generic types
このページは日本語には対応しておりません。随時翻訳に取り組んでいます。翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください。
ID: typescript-best-practices/no-unnecessary-type-constraint
Language: TypeScript
Severity: Notice
Category: Best Practices
Description
It is redundant to extend
from any
or unknown
.
Non-Compliant Code Examples
function data<T extends any>() {}
function data<T extends any, U>() {}
function data<T, U extends any>() {}
function data<T extends any, U extends T>() {}
const data = <T extends any>() => {};
const data = <T extends any>() => {};
const data = <T extends any>() => {};
const data = <T extends any,>() => {};
const data = <T extends any, >() => {};
const data = <T extends any ,>() => {};
const data = <T extends any , >() => {};
const data = <T extends any = unknown>() => {};
const data = <T extends any, U extends any>() => {};
function data<T extends unknown>() {}
const data = <T extends any>() => {};
const data = <T extends unknown>() => {};
class Data<T extends unknown> {}
const Data = class<T extends unknown> {};
class Data {
member<T extends unknown>() {}
}
const Data = class {
member<T extends unknown>() {}
};
interface Data<T extends unknown> {}
type Data<T extends unknown> = {};
Compliant Code Examples
function data() {}
function data<T>() {}
function data<T, U>() {}
function data<T extends number>() {}
function data<T extends number | string>() {}
function data<T extends any | number>() {}
type TODO = any;
function data<T extends TODO>() {}
const data = () => {};
const data = <T>() => {};
const data = <T, U>() => {};
const data = <T extends number>() => {};
const data = <T extends number | string>() => {};
Seamless integrations. Try Datadog Code Analysis