Avoid unsafe declaration merging

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: typescript-best-practices/no-unsafe-declaration-merging

Language: TypeScript

Severity: Error

Category: Error Prone

Description

Do not merge class and interface declarations. The compiler won’t check property initialization, which might lead to runtime errors.

Non-Compliant Code Examples

interface Foo {}
class Foo {}

Compliant Code Examples

interface Foo {}
class Bar implements Foo {}

namespace Baz {}
namespace Baz {}
enum Baz {}

namespace Qux {}
function Qux() {}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis