JS Built-ins
TypeScriptintermediate

Interface β€” Recursive Type

πŸ“– Usage Example
interface TreeNode<T> {
  value: T
  children: TreeNode<T>[]
}
const root: TreeNode<number> = { value: 1, children: [] }

A recursive interface refers to itself, enabling tree and nested data structures.

Recursive Interfaces: Tree Node

An interface can reference itself, enabling recursive data structures.

Challenge: Implement createTreeNode<T>(value, children?) returning a TreeNode<T>.

createTreeNode(1)                // β†’ { value: 1, children: [] }
createTreeNode(1, [createTreeNode(2)])  // β†’ { value: 1, children: [{ value: 2, children: [] }] }
πŸ’‘ Hints (1)
  • β€’ Default parameter values are evaluated per call, so [] is safe here.