javascript - TypeScript 的最佳实践是什么?

标签 javascript typescript

如果遇到问题,我有带函数的数组,比如:

this._array = [handler, func, type]

我需要如何声明这个私有(private)属性:

 1. Array<any>
 2. any[]
 3. T[]
 4. Array<T>

这个声明有什么不同?

还有一些问题:

this._array.push(()=>{ console.log("hey")})

我如何定义类型函数?

最佳答案

在这种情况下,如果您不知道数组中可以使用哪些类型,请使用 any[] ,这是不希望的。我建议您重构代码以使用相同类型的数组。

1) Array<any> - 接受任何东西。

2) any[] - 同上。

console.log([].constructor);
console.log((new Array()).constructor);

3) T[]仅包含类型为 T 的元素.可用于 Generic

4) Array<T>同上。

说你有课

class SomeClass<T> {
   items: Array<T>;
}

const numbers = new SomeClass<number>();
const strings = new SomeClass<string>();

对于数字,项目的类型为 number[] , 对于字符串,它将是 string[] .将替换 T 的类型是从 <T> 得到的在对象创建语句中。

关于javascript - TypeScript 的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46194398/

相关文章:

typescript 从类型中排除类型

javascript - 有没有办法自动按下 Google App Script msgBox 上的“确定”按钮?

javascript - wordpress 中当天打开的选项卡

javascript - localStorage 的持久性如何?

windows - Angular 2 如何从存储中删除列表项

javascript - 配置 Typescript 项目以使用 Bable 从 ES6 转换为 ES5

javascript - 将一些基于 jQuery 的代码转换为原生 javascript,这种情况可能吗?

javascript - 第三次是一个魅力......也许

typescript - 在 typescript 中返回两种类型的函数

javascript - 如何将 date-fns 与 Vue 类组件一起使用?