相关疑难解决方法(0)

在TypeScript中使用多种类型定义数组

我有一个表格的数组:[ 1, "message" ].

我如何在TypeScript中定义它?

typescript

126
推荐指数
8
解决办法
6万
查看次数

为什么TypeScript中的类允许使用duck typing

在TypeScript中看起来绝对没问题(从编译器的角度来看)有这样的代码:

class Vehicle {
    public run(): void { console.log('Vehicle.run'); }
}

class Task {
    public run(): void { console.log('Task.run'); }
}

function runTask(t: Task) {
    t.run();
}

runTask(new Task());
runTask(new Vehicle());
Run Code Online (Sandbox Code Playgroud)

但与此同时,我希望编译错误,因为VehicleTask没有任何共同点.

理智的用途可以通过明确的接口定义来实现:

interface Runnable {
    run(): void;
}

class Vehicle implements Runnable {
    public run(): void { console.log('Vehicle.run'); }
}

class Task implements Runnable {
    public run(): void { console.log('Task.run'); }
}

function runRunnable(r: Runnable) {
    r.run();
}

runRunnable(new Task());
runRunnable(new …
Run Code Online (Sandbox Code Playgroud)

javascript duck-typing interface class typescript

19
推荐指数
2
解决办法
2039
查看次数

标签 统计

typescript ×2

class ×1

duck-typing ×1

interface ×1

javascript ×1