tslint.json

1. 生成 tslint.json

首先下载 tslint,注意一定要全局,否则不生效

cnpm i tslint --save -g

生成 tslint.json

tslint --init

此时项目中:

2. 使用接口绕过多余属性检测的方式

在接口中如果没有定义,但是使用时加了新字段会提示错误,介绍两种解决办法

(1) 修改接口

interface paramsCheck {
  activityId: string,
  age: number,
  [prop: string]:any // 其他未定义类型的数据,属性名是string类型
}

const getUserInfo = (params: paramsCheck):string => {
  return `activityId: ${params.activityId}, age: ${params.age}`
}

var res = getUserInfo({
  activityId: '23',
  age: 23,
  sex: '女'
})

console.log(res)

(2)不直接传,借助对象

interface paramsCheck {
  activityId: string,
  age: number
}

const getUserInfo = (params: paramsCheck):string => {
  return `activityId: ${params.activityId}, age: ${params.age}`
}

let info = {
  activityId: '23',
  age: 23,
  sex: '女'
}
var res = getUserInfo(info)

console.log(res)

这样也不会报错

接口中定义只读:readonly

interface paramsCheck {
  activityId: string,
  readonly age: number
}
const getUserInfo = (params: paramsCheck):string => {
  params.age = 22 // 修改
  return `activityId: ${params.activityId}, age: ${params.age}`
}

提示错误: 

接口的继承:使用 extends 关键字

interface Vegetables {
  color: string
}

interface Tomatos extends Vegetables {
  type: string
}

const tomato:Tomatos = {
  color: 'red',
  type: 'am'
}

将两者的名叠加起来

猜你喜欢

转载自blog.csdn.net/Luckyzhoufangbing/article/details/108639248