为了修改不可变数据,方法将会返回一个新的同类型集合。this这个类型表明返回值类型将参照类的类型。例如,当你在一个List上push一个数据时,他将会返回一个新的同类型List:

    1. class List<T> {
    2. push(value: T): this
    3. }