Javascript类型的介绍

在很多人的眼中,Javascript这中动态语言,是没有类型(type)的,但事实上对于JS来说掌握它的类型是非常重要的,对JS来说类型是值的内部特征,它定义了值的行为,以使其区别于其他值。

1. 内置类型

JS有七种内置的类型,分别是:

  • Number
  • String
  • Boolean
  • Symbol
  • Object
  • Null
  • Undefined

这七种类型除Object外都是基本类型。
当使用typeof操作符来查看值的类型时,返回的是对应类型的字符串。例如:typeof 1 === "number" //true
但是需要注意的是,Null类型不在此列,当你使用typeof查看null的类型时,返回的会是“object”,typeof null === "object" // true JS的这个bug由来已久,至今没有修复。所以,检测一个值是不是“object”类型时,需要使用复合条件:

var a; 
!a && typeof a === "true" 

只有同时满足这两个条件,a才是一个“object”类型的值。

2. 变量和值的类型

首先,对于Javascript这种“动态语言”,变量是没有类型的,语言引擎不要求变量总是持有与其初始值同类型的值,变量可以随时持任何类型的值,换句话说就是Javascript不做“类型强制”。
那么所谓的变量的类型指的是变量所持有的值的类型。

2.1 undefined 和 not defined

在这里还需要注意一点的是undefined和 is not defined的区别:

当调用一个已经申明,但未赋值的变量时,它是undefined;
当调用一个未被申明的变量时,引擎会报错,is not defined;

但是,bug又来了,当你使用typeof来查看一个未被赋值的变量和一个未被申明的变量时,它返回的结果都是 undefined。

 var a;
typeof a === "undefined"//true
typeof b === "undefined"//true

以上,就是对于Javascript类型的介绍。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,969评论 1 45
  • 前端07班 王语句JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是...
    ea203453e188阅读 4,404评论 0 4
  • 0. 写在前面 当你开始工作时,你不是在给你自己写代码,而是为后来人写代码。 —— Nichloas C. Zak...
    康斌阅读 10,723评论 1 42
  • 语句 JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 ...
    米塔塔阅读 3,240评论 1 10
  • 在炎热的下午坐地铁,吹着空调,戴上耳机,一句话也不用说,摇摇晃晃,望着车厢里一张张陌生的脸,这一天结束了。 ...
    遥远的桃子阅读 2,726评论 0 0