如何去除字符串两端引号并转换为非字符串类型值
实现剥离引号并输出非字符串类型的函数
核心思路
直接用JSON.parse()处理最稳妥——它会自动识别并剥离字符串首尾的单/双引号,同时把内容转换成对应的JavaScript原始类型(数字、布尔值、null等),最后加个类型校验确保输出符合非字符串的要求。
最终代码
const strip = r => { const parsedResult = JSON.parse(r); if (typeof parsedResult !== 'string') { return parsedResult; } throw new Error('输入内容剥离引号后为字符串,不符合非字符串类型要求'); };
测试效果
// 转换为数字类型 > strip('"123"') > 123 // 转换为布尔类型 > strip("'true'") > true // 转换为null类型 > strip('"null"') > null // 不符合要求的输入会报错 > strip('"Hello"') > Error: 输入内容剥离引号后为字符串,不符合非字符串类型要求
补充说明
- 如果输入的引号不匹配(比如单引号开头、双引号结尾),
JSON.parse()会直接抛出语法错误,刚好完成合法输入的校验; - 要是需要兼容更多特殊场景(比如自定义类型转换),可以在解析后扩展额外的类型判断逻辑。
内容的提问来源于stack exchange,提问作者TullyYT
相关产品推荐
相关产品推荐

