有同学刚问道面试题如下:
- 下面代码是否会报错?原因是什么?怎么改?
interface People {
name: string,
age: any,
speak: () => string
}
var Man: People = {
name: '死鬼',
age: 25,
speak: (): string => {
return 1;
},
eat: (): any => {
return 'aaaaaaaaaaaaaaaa';
}
};
- 回答
- 1.会报错
- 2.错误:
2.1 错误一:speak 方法返回值类型 是 string,但内部返回的是 数字1
2.2 错误二:实现接口的对象 需要实现 接口的所有成员,不多不少刚刚好 - 3.修改
3.1 将speak 中的 1 加上 引号
3.2 在接口中 加入 多出的 eat 方法
interface People {
name: string,
age: any,
speak: () => string,
eat: () => any
}
var Man: People = {
name: '死鬼',
age: 25,
speak: (): string => {
return '1';
},
eat: (): any => {
return 'aaaaaaaaaaaaaaaa';
}
};
网友评论