JSON格式校验函数速记:typeof与instanceof的区别

作者:闭包旅人时间:2026-10-31 08:49:05浏览:94

本文介绍前端项目中常用的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格式判断函数的资料请关注本站其它相关文章!

作者最新文章