TypeScript-Handbook icon indicating copy to clipboard operation
TypeScript-Handbook copied to clipboard

Misstatement in definition of `Partial<T>`

Open vassudanagunta opened this issue 4 years ago • 1 comments

The definition of Partial<T> states:

Constructs a type with all properties of T set to optional. This utility will return a type that represents all subsets of a given type.

To paraphrase Inigo Montoya: You use the word "subset". I do not think it means what you think it means.

A "type with all properties of T set to optional" does not represent subsets of T.

Examples of "subsets of a given type":

  • given type: real number, some subsets: rational number, integer
  • given type: number | string | null, some subsets: number, number | null

I know what the author is trying to say, but can't come up with the right words, though I probably should have spent more time on that than what I've put into this Issue so far 😂.

vassudanagunta avatar Mar 26 '20 05:03 vassudanagunta

I know what the author is trying to say,

Now that you've brought it up, I've realized I have no idea what the author is trying to say in the second sentence. Partial<T> only returns the params of the targeted type with the optional flag on each one, doesn't it? Does something else happen if the targeted type isn't an object literal?

jpelton-stroud avatar May 03 '20 15:05 jpelton-stroud