Skip to content

Class implements class ! #36449

@BeliliFahem

Description

@BeliliFahem

TypeScript Version: 3.7.5

Search Terms: typescript class implements class

Expected behavior: Compilation error : A class cannot implements another class. A class can extend a class, extends an abstract class or implements an interface.

Actual behavior: No error !

Related Issues:

Code

class MaClasse {
  maFunc(): boolean {
    return true;
  }
}class AutreClasse implements MaClasse {
  maFunc() {
    return true;
  }
}
Output
"use strict";
class MaClasse {
    maFunc() {
        return true;
    }
}
class AutreClasse {
    maFunc() {
        return true;
    }
}
Compiler Options
{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "useDefineForClassFields": false,
    "alwaysStrict": true,
    "allowUnreachableCode": false,
    "allowUnusedLabels": false,
    "downlevelIteration": false,
    "noEmitHelpers": false,
    "noLib": false,
    "noStrictGenericChecks": false,
    "noUnusedLocals": false,
    "noUnusedParameters": false,
    "esModuleInterop": true,
    "preserveConstEnums": false,
    "removeComments": false,
    "skipLibCheck": false,
    "checkJs": false,
    "allowJs": false,
    "declaration": true,
    "experimentalDecorators": false,
    "emitDecoratorMetadata": false,
    "target": "ES2017",
    "module": "ESNext"
  }
}

Playground Link: Provided

Metadata

Metadata

Assignees

No one assigned

    Labels

    Working as IntendedThe behavior described is the intended behavior; this is not a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions