Typescript实践

298 阅读1分钟

简述

近期项目重构中引入了typescript,为了利用ts提供的静态类型解析以更好的维护规模庞大的公司项目。与此同时,一边学习,一边记录一些值得写下来的东西。

小问题

  1. 声明一个二维数组接口
data: Array<Array<any>>;
  1. 处理使用this属性而导致eslint发出的警告

解决方法:未找到禁止检验的规则,可通过三方工具库,如lodash来获取属性。

const x = _.get(this, 'x');

方法2:

function(this: any) {
    console.log(this.x)
}
  1. 参数中需要一些不确定的内容
interface Params {
    name: string;
}

function func(params: Params) {
    return params.name + params.x   
}

// 可以这样改造接口
interface Params {
    name: string;
    [propName: string]: any;
}
// 这被称为:索引签名