2016-09-22 3 views
0

Вот пример из официального документа в разделе type alias.Перекресток типа машинописного типа в псевдониме типа

type LinkedList<T> = T & { next: LinkedList<T> }; 

interface Person { 
    name: string; 
} 

var people: LinkedList<Person>; 
var s = people.name; 
//var s = people.next.name; 
//var s = people.next.next.name; 
//var s = people.next.next.next.name; 

, когда я пытаюсь этот пример генерирует следующее сообщение об ошибке:

TypeError: Cannot read property 'name' of undefined 

люди типа linkList. Как правильно заполнить список ссылок для людей?

ответ

2

Вы должны присвоить ему значение, просто объявление типа недостаточно. Например:

var people: LinkedList<Person> = {name: "Alf", next: {name: "Tim", next: null}}; 
Смежные вопросы