Skip to content
静心静心
HOME
DoubtfulCases
github icon
  • TYPESCRIPT

    • 练习TS泛型简单的案例
      • vue3中div报错解决方案
        • typeof有何局限性如何解决
          • typeof作用
            • typeof检测变量的类型范围包括:
              • typeof局限性
              • instanceof详解
                • 简简单单Promise

                typeof 有何局限性?如何解决?

                author iconYYtimer icon大约 1 分钟

                此页内容
                • typeof作用
                • typeof检测变量的类型范围包括:
                • typeof局限性

                # typeof 有何局限性?如何解决?

                # typeof作用

                typeof 用来检测一个变量或一个对象的数据类型。typeof检测的范围

                # typeof检测变量的类型范围包括:

                “string" / "number" [ "bigint" [ "boolean" / "symbol" | "undefined" l"object" | "function”等数据类型。

                # typeof局限性

                **2-29-3 【TS类型守卫】typeof 有何局限性?如何解决?【高频面试题】**typeof作用

                typeof 用来检测一个变量或一个对象的数据类型。typeof检测的范围 typeof检测变量的类型范围包括: “string" / "number" [ "bigint" [ "boolean" / "symbol" | "undefined" l"object" | "function”等数据类型。 typeof 的局限性 typeof检测变量并不完全准确,例如typeof null结果为object,这其实设计者的一个bug,但后来一直没有被改过来,于是就此传下来了,但把null当成object的理由说成是未来可能会拥有一个对象空间,这个理由很牵强【我们检测的是对象变量此刻的类型】,null 本来即是数据类型,也是值。所以typeof null直接显示null最合适了。

                再例如:使用typeof 来检测一个数组变量,typeof []结果显示的是object,从 Array创建的本质上来说确实是object,正如我们在2-29-1中所讲,但开发者期待看到的是Array,这更符合预期。Array和我们定义的普通函数一样,具有双重性,当成函数类型时用来创建数组对象,但也是一个构造函数对象,拥有静态成员和prototype原型对象属性。【这一点我们在TS继承课题已经讲过】 再比如:使用typeof 来检测一个Set变量,Map变量,结果显示的是依然是object。

                image-20220616204408500

                edit icon编辑此页open in new window
                上一页
                vue3中div报错解决方案
                下一页
                instanceof详解
                傻瓜都能写出计算机可以理解的代码。唯有能写出人类容易理解的代码的,才是优秀的程序员。
                Copyright © 2022 YY

                该应用可以安装在您的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和您的操作系统安全地进行交互。

                详情