Skip to content

SUGGESTIONS: Add an "is" statement to check the object class, and typed try-catch #13877

@geverges-oleg

Description

@geverges-oleg

Example

// typescript code
if( obj is AnyClass ) {
     //...
}

//typed try-catch on typescript code
try {
}
catch(error is ParseError) {
}
catch(error is MongoError) {
}
catch(error) {
}

compile to

// javascript code
if( obj && obj.constructor === AnyClass ) {
     //...
}

//typed try-catch on typescript code
try {
}
catch(error) {
     if( error ) switch( error.constructor  ) {
           case ParseError:
              break;
           case MongoError:
              break;
           default:
              break;
     }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Out of ScopeThis idea sits outside of the TypeScript language design constraintsSuggestionAn idea for TypeScript

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions