首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在typescript中停止与字符串数组连接的字符串

如何在typescript中停止与字符串数组连接的字符串
EN

Stack Overflow用户
提问于 2019-01-18 19:50:39
回答 1查看 26关注 0票数 0
代码语言:javascript
运行
复制
const a: string = "abc";
const b: string[] = ["def", "ghi"];
const c = a + b

在string[]中生成以逗号分隔的abcdef,ghi项字符串。如何让typescript知道这不应该放在首位?

EN

回答 1

Stack Overflow用户

发布于 2019-01-18 20:10:07

c = a + b实际上是{} + \[\]

{} + []

这里的{}没有被解析为一个对象,而是一个空块(§12.1,至少只要你没有强制该语句成为一个表达式,稍后会详细介绍)。空块的返回值为空,因此该语句的结果与+[]相同。一元+运算符(§11.4.6)返回ToNumber(ToPrimitive(操作数))。正如我们已经知道的,ToPrimitive([])是空字符串,根据§9.3.1,ToNumber("")是0。

A是{}端的字符串,b (string[])是[]。当您将string对象与字符串数组相加时,javascript会隐式将字符串数组转换为连接的字符串(这是预期的行为)

所以,javascript在这里并没有什么违法之处。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54253437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档