TypeScript如何获取用户输入?参数隐式any类型、gets未定义报错如何解决?
TypeScript代码报错修复方案
各报错对应修复方法
- 参数隐式any类型报错:触发原因是TypeScript默认开启
noImplicitAny校验规则,未显式声明类型的函数参数会被推断为any类型进而抛出错误。你需要给rotatedString的两个入参添加:string类型注解即可解决。 gets未定义报错:gets是部分在线判题平台自定义的全局输入方法,TypeScript官方运行环境不存在该原生方法,你可以根据使用场景选择对应修复方案:- 若在TypeScript官方Playground运行测试,可使用浏览器原生
prompt方法获取用户输入 - 若你使用的平台确实内置
gets方法,只需添加全局类型声明即可解决TS的类型识别报错
- 若在TypeScript官方Playground运行测试,可使用浏览器原生
修复后代码示例
适配TypeScript官方Playground版本(用prompt实现输入)
function rotatedString(S1: string, S2: string) { return S1 + S2; } function processData() { // 两次调用prompt分别获取两个输入字符串 const S1 = prompt("输入第一个字符串") || ""; const S2 = prompt("输入第二个字符串") || ""; console.log(rotatedString(S1, S2)); } processData();
适配内置gets方法的平台版本
// 全局声明gets方法,解决类型识别问题 declare function gets(): string; function rotatedString(S1: string, S2: string) { return S1 + S2; } function processData() { const temp = gets().trim('\n').split('\n'); const S1 = temp[0]; const S2 = temp[1]; console.log(rotatedString(S1, S2)); } processData();
内容的提问来源于stack exchange,提问作者Pranav
相关产品推荐
相关产品推荐

