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

Incorrect tree node definition in pages/Advanced Types.md

Open chanagaray opened this issue 5 years ago • 0 comments

This is minor but I'm reporting it to make my PR reference an issue.

The Tree type defines a node of a tree which must have two Tree chidren. This makes it impossible for there to be leaf nodes.

type Tree<T> = {
    value: T;
    left: Tree<T>;
    right: Tree<T>;
}

If a tree must have a child and that child can't be anything other than a tree, then that causes every child to need a child of its own. A leaf node doesn't have any children and you can't have an infinite tree, so this type wouldn't work in real code.

chanagaray avatar Jul 31 '20 17:07 chanagaray