VSCode 链表节点源码中泛型与 any 问题

WingDust
  • 116

在 VSCode 链表节点源码中有一段

class Node<E> {
  static readonly Undefined: Node<any> = new Node<any>(undefined);

  element: E;

  next: Node<E>;

  prev: Node<E>;

  constructor(element: E) {
    this.element = element;
    this.next = Node.Undefined;
    this.prev = Node.Undefined;
  }
}

我虽然想到了 Undefined 用来初始化的,避免将 nextprev 类型设成 Node<E> | undefined

但是我对 this.next = Node.Undefined; 这个的赋值 即可以 Node<any> 赋值 Node<E>

难到仅因为 any 是所有类型的子类型吗?

回复
阅读 206
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏