GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Display 'nothing' for the empty union type by ahejlsberg · Pull Request #8340 · microsoft/TypeScript

Conversation

@ahejlsberg

@ahejlsberg Anders Hejlsberg (ahejlsberg) commented Apr 27, 2016

Copy link
Copy Markdown
Member

With this PR we display the name 'nothing' for empty union types. Empty union types can occur when control flow type analysis concludes that there is no possible type for a variable that matches the preceding type guards in a particular code path. For example:

function foo(x: string | number) {
    if (typeof x === "string") {
        x;  // x is of type string here
    }
    else if (typeof x === "number") {
        x;  // x is of type number here
    }
    else {
        x;  // x is of type nothing here
    }
}

The 'nothing' type cannot be explicitly named, it has no members, and no other types are compatible with it.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Anders Hejlsberg (ahejlsberg) added 2 commits April 27, 2016 13:54
@ahejlsberg
Display the name 'nothing' for the empty union type
8cd3253
@ahejlsberg
Accepting new baselines
9da4323
@msftclas Microsoft Contribution License Agreements (msftclas) added the cla-not-required label Apr 27, 2016
@mhegazy

Mohamed Hegazy (mhegazy) commented Apr 27, 2016

Copy link
Copy Markdown
Contributor

👍

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ahejlsberg
Anders Hejlsberg (ahejlsberg) merged commit 0613ad1 into master Apr 27, 2016
@mhegazy Mohamed Hegazy (mhegazy) mentioned this pull request Apr 28, 2016
type nothing emitted in generated .d.ts files #8345
Closed
@ahejlsberg Anders Hejlsberg (ahejlsberg) mentioned this pull request May 17, 2016
Add 'never' type #8652
Merged
@mhegazy
Mohamed Hegazy (mhegazy) deleted the nothingType branch November 2, 2017 21:05
@microsoft Microsoft (microsoft) locked and limited conversation to collaborators Jun 19, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@ahejlsberg @mhegazy @msftclas
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.