You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript算术运算报错:右侧操作数需为any/number等合法类型问题求解

报错原因

CSSStyleDeclaration类型的所有样式属性返回值均为带单位的字符串类型(例如height返回值格式为"200px"),不属于TypeScript算术运算允许的number/bigint等合法类型,因此触发类型校验报错。

修复方法

需要先将样式字符串转换为纯数字后再执行算术运算,可通过parseInt()(适配整数场景)或parseFloat()(适配小数场景)自动忽略字符串末尾的单位后缀:

const computedNode = window.getComputedStyle(coversContainer) as CSSStyleDeclaration;
// 先将样式字符串转成数字再运算
const height = parseInt(computedNode.height, 10);
const paddingTop = parseInt(computedNode.paddingTop, 10);
const paddingBottom = parseInt(computedNode.paddingBottom, 10);
const coversContainerHeight = height - (paddingTop + paddingBottom);

如果你的场景涉及rem/em等非px单位,需要额外做单位换算处理后再运算。

内容的提问来源于stack exchange,提问作者user15909643

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:18:03