接触ts之后你应该会注意到,所有的声明都会增加类型
let n:number=1
let s:string = '1'
function m():void{};
那么问题来了,可以进行如下操作吗?
let n:number
let n:string
function a():void{
}
function a():string{
}
console.log(n, n);
Cannot redeclare block-scoped variable 【无法重新声明块作用域变量】
正确方式
let n: number | string
function a():void|string{
}
interface
interface Itest {
a: () => void,
a: () => string
}
这样也是不允许的 类型不一样是不允许的,可以这样
interface Itest {
a: () => void
}
interface Itest {
a: (arg:string) => void
}
其实最终是这样的
interface Itest {
a: (arg?:string) => void
}
文章来源: typescript【五】合并