8000 Type Guard syntax for array · Issue #1587 · microsoft/TypeScript · GitHub
[go: up one dir, main page]

Skip to content
Type Guard syntax for array #1587
@basarat

Description

@basarat

Perhaps a bug, the following does not work although I think its the right syntax:

class Message {
    value: string;
}

function saySize(message: Message | Message[]) {
    if (message instanceof Array) {
        return message.length; // test.ts(7,24): error TS2339: Property 'length' does not exist on type 'Message | Message[]'.
    }
}

However, the following does work.

class Message {
}

function saySize(message: Message | Message[]) {
    if (message instanceof Array) {
        return message.length; // Okay
    }
}

Note to team: Feel free to edit this query to increase its life. original report: #805 (comment).

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFixedA PR has been merged for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0