JavaScript函数能否指定返回DataType?如何创建仅返回字符串的函数
实现仅返回字符串的拼接函数方案
JS的+运算符默认支持数值加法和字符串拼接两种逻辑,当传入参数均为数字时会触发加法运算,你可以通过两种方式实现仅字符串拼接的需求:
- 严格类型校验方案
仅当传入参数均为字符串时才执行拼接,否则抛出类型错误,符合你“仅对特定数据类型生效”的要求,实现代码如下:
调用示例:function concatenate(a,b) { if (typeof a !== 'string' || typeof b !== 'string') { throw new TypeError('两个参数都必须是字符串类型'); } return a + b; }
传入concatenate("hello", "world")返回字符串helloworld;传入concatenate(1, 2)会直接抛出类型错误,不会执行数值加法。 - 强制转字符串拼接方案
如果你不需要拦截非字符串参数,只要求最终结果一定是字符串拼接而非数值运算,可以先把所有参数强制转成字符串再执行拼接:
调用示例:function concatenate(a,b) { return String(a) + String(b); }
传入concatenate(1, 2)返回字符串12,而非数值3,无论传入什么类型的参数,最终都会返回拼接后的字符串。
内容的提问来源于stack exchange,提问作者Sebastián Arguedas Soley
相关产品推荐
相关产品推荐

