当前位置: 首页 > Web前端 > JavaScript

扩张运营商:一家人就这样支离破碎了

时间:2023-03-27 13:34:22 JavaScript

大家好,我是Kason。想必大家在业务中应该经常会用到展开运算符(展开语法),比如展开一个数组:functionsum(x,y,z){returnx+y+z;}constnumbers=[1,2,3];//6console.log(sum(...numbers));克隆对象:constclone={...obj};但是你有没有见过下面的操作:本文就来谈谈造成上述情况的原因。欢迎加入人类优质前端框架群。Iterable是ES2015为扩展运算符对字符串的作用而添加的类型。扩展运算符可以作用于iterable并将其扩展为0到多个参数。Array、String等常见类型都属于iterable。可以使用for..of语法遍历iterable,如:for(letiof'abc'){console.log(i)}//a//b//cArray属于iterable,但是很容易明白为什么String也属于iterableWoolencloth了吗?这是因为在ES2015之前,String基本上实现了Array用来遍历的所有元素,比如:带有.,String和Array也有类似的经历。所以在ES2015中,当Array支持for...of遍历作为一个iterable时,从体验上来说,String也需要支持同样的语法。使用展开运算符展开一家三口的结果:使用for...of遍历,可以看到对应的Unicode字符:那么一家三口作为表情包有什么特别之处呢?EmojiSequence由多个emoji组成的emoji称为EmojiSequence,它利用了文本可以组合形成的特点。例如,泰语是一种可以组合形成的脚本。Sawadhika(你好)在泰语中写作??????????。你会注意到角色的头上有一顶帽子。此外,泰语中的某些字符有鞋子,例如??。或者还有帽子和鞋子,比如:???。在泰语输入法中,用户依次输入基本字符、帽子、鞋子,将需要的字符组合后,输入结束字符,组成一个完整的字符。回到我们三口之家,你会发现展开的第1项和第3项是零宽字符(ZeroWidthJoiner,简称zwj):从上面for...of遍历的结果,我们可以看出这个零宽度字符是\u200D。他通常用于排版。但EmojiSequence将他用作emoji之间的粘合剂。换句话说,您可以使用\u200D将多个表情符号组合成一个表情符号序列。比如爸爸妈妈和一个小男孩可以组合成一个三口之家:当然也可以组合一个小女孩:一个小女孩和一顶学士帽可以组合成一个戴着学士帽的小女孩帽子:了解组合方法后,可以使用现有的表情符号组成一家三口。全新的表情符号序列。两父一子的家庭,两母一子的家庭,可以试试~