将PHP脚本转换为TypeScript(Node.js)时遇错误求助
PHP转TypeScript的错误排查与修正
你的TypeScript代码存在两处核心问题,下面逐一说明并给出正确实现:
错误点分析
变量声明语法错误
你写的const fruits['APPLE']: info = {color:'red',size:'small'}是无效语法,const用于声明完整变量,不能直接针对对象的单个属性做声明并指定类型。类型定义与对象结构不匹配
原PHP是包含多个水果条目的关联数组,但你的TS代码没有定义完整的fruits对象结构,只单独处理了APPLE属性,不符合原逻辑。
正确的TypeScript实现
// 定义单个水果的类型(首字母大写符合TS规范) type Info = { color: string; size: string; }; // 声明完整的fruits对象,指定键为APPLE/BANANA,值为Info类型 const fruits: Record<'APPLE' | 'BANANA', Info> = { APPLE: { color: 'red', size: 'small' }, BANANA: { color: 'yellow', size: 'middle' } }; // 对应PHP的echo,Node.js中用console.log输出 console.log(fruits['APPLE']['color']); // 输出 red
补充说明
- 如果后续可能新增更多水果,可以把类型放宽为
Record<string, Info>,这样支持任意字符串作为键。 - 访问对象属性也可以用点语法:
fruits.APPLE.color,效果和方括号一致。
内容的提问来源于stack exchange,提问作者BdPk
相关产品推荐
相关产品推荐

