本文介绍前端项目中常用的JSON格式校验函数实现,通过JSON.parse尝试解析字符串并验证返回对象。同时详解typeof与instanceof运算符在判断数据类型时的行为差异,特别是null、array和object在typeof下的表现及instanceof的原型链检测原理。
JSON格式校验函数速记示例
在toB类项目中,经常需要将JSON格式的数据传递给后端,以支持各项业务功能的实现。
通常情况下,数据校验工作由前端承担,而实现这一目标的主要手段是编写专门的校验函数。
isJson (str) {
if (typeof str === 'string') {
try {
let objData = JSON.parse(str)
if (typeof objData === 'object' && objData) {
return true
} else {
return false
}
} catch (e) {
return false
}
}typeof运算符
- typeof是一个一元运算符,主要用于判断变量的数据类型,其返回值类型为字符串。
- 该运算符可能返回的字符串值包括:string、Boolean、number、function、object、undefined以及symbol。
- 需要注意的是,当使用typeof判断null、array以及object时,或者判断函数实例(即通过new关键字创建的函数实例)时,其结果均为object。这种特性导致在区分这些具体数据类型时,无法直接获得真实的类型信息,因此引出了instanceof运算符的使用。
instanceof运算符
- instance的中文含义为“实例”,这直观地反映了该运算符的核心作用:判断当前对象是否为某个特定类的实例,从而明确instanceof属于对象类型的运算符。
- instanceof运算符用于测试一个对象在其原型链中是否存在某个构造函数的prototype属性,其主要用途是判断一个变量是否属于某个特定对象的实例。
以上即为JSON格式判断函数速记示例的详细内容,更多关于JSON格式判断函数的资料请关注本站其它相关文章!