我是一个 TypeScript 的初学者,正在 Playgound 网站上尝试使用它。我有以下的代码:
class Queue<T> {
private data = [];
push = (item: T) => this.data.push(item);
pop = (): T => this.data.shift();
}
let button = document.createElement('button');
button.textContent = "Say Hello";
button.onclick = function () {
let q = new Queue<number>();
q.push("asdada");
alert(q.pop(0));
}
document.body.appendChild(button);
您可以看到,我创建了一个队列对象来接受数字。然而,我能够传递字符串并在浏览器上弹出它。我查看了编译后的JS版本,它没有对我的变量进行类型检查。TypeScript不是应该避免这些错误吗?或者我错了吗?
谢谢!