Javascript看似杂乱,实则非常巧妙,6大类型要点详解!

分享至

前端的开发当中,我们经常听到的两个概念就是JavaScript和ECMAScript,其实很多人大都是将两个概念视为相同的,但是其实JavaScript的实现要远远大于ECMAScript,ECMAScript仅仅是作为JavaScript的核心部分,JavaScript还包含两块重要的内容就是文档对象模型(DOM)和浏览器对象模型(BOM),DOMBOM其实也是前端技术非常重要的一块内容。

了解这些以后,我们下面开始讲解JavaScript语言最基本的概念,毕竟这也是学习任意一门语言首要掌握的“敲门砖”,俗话说“万丈高楼平地起”未来你的JavaScript能够走到什么样的高度也完全取决于你对这些基本类型以及API的掌握程度!也能解答你最初认为JavaScript“杂乱无章”的困惑,掌握这些基本概念之后,你会发现并爱上JavaScript这门语言!

语法

  1. 首先JavaScript虽然是一门弱类型语言,但是内部的一切命名都是完全区分大小写的,比如变量Test、TEst、test表示三种不同的变量。
  2. JavaScript的标识符命名规则和其他语言一样,首字母必须为字母、数字、下划线(_)、美元符号($)开头
  3. 注释采用C语言风格,单行注释采用“// 注释内容”,多行注释采用“/* 注释内容 */”。
  4. 条件控制语句、循环语句与大多数语言相同,此处不再赘述!

很多人觉得JavaScript杂乱无章,甚至没有章法可循就是因为对于JavaScript的基本类型并没有深入的了解,同时JavaScript因为是松散型的变量,变量仅仅是作为一个占位符能够被赋予任何类型的值,这导致很多人认为自己“怎么写都对,怎么都能运行”的概念,就盲目地认为JavaScript其实很简单,今天我们一起来深入看一下JavaScript的六大基本数据类型,扫清初学者的所有“困惑”,让你开启全新的JavaScript之旅!

接下来,我们将进入本届课的重点内容,6大基本数据类型的刨根问底!

六大基本数据类型

在JavaScript这门语言当中有6大基本数据类型:5种简单数据类型+1种复杂数据类型。

5种简单数据类型:undefinednull、布尔类型(Boolean)、字符串类型(String)、数值类型(Number

1种复杂数据类型:对象类型(Object

那么其实在ES6标准当中,JavaScript又新增了一个原始基本类型:Symbol类型,表示一个独一无二的值,Symbol类型的出现主要是为了解决我们在为对象增加方法以及属性时导致同名属性或者同名方法被覆盖而新增的

因为JavaScript是松散类型的,变量仅仅是一个占位符,那么当我们给变量赋值后,如何正确地获得该变量的类型然后再做相应的处理就成为一个棘手的问题,其实JavaScript是提供给我们一个typeof操作符来获取变量类型的,不过留一个问题就是typeof真的能够帮助我们准确的判断类型吗?这个知识点其实也是检测你对JavaScript的掌握程度的一个关键点。

typeof 操作符

我们首先来看一下各个基本类型使用typeof操作符返回的值:

如上图,我们可以看到typeof操作符是无法区分nullObject类型,也无法区分复合类型(Arrary)与 函数类型(Function),所以这个操作符在检测类型的时候是有缺陷的,那么我们如何准确的检测出类型呢?

这儿给出一个普遍JS类库都采用的方式比如(JQuery),就是调用Object原型链上的toString方法,如下图:

我们可以看到,JavaScript目前所有的类型都能够通过这种方式准确的检测出来,那么这儿有一个知识点就是必须调用Object原型链上的toString方法通过call方法将this对象变成检测的变量,这样变量就会调用Object原型链上的toString方法,而非变量所属基本类型覆盖重写后的toStirng方法。

知道上面如何检测变量类型之后,我们来学习几个比较重要的类型转换规则:BooleanNumber

Boolean类型转换规则

可以说Boolean类型在JavaScript中是使用的最多的一种类型,该类型只有truefalse两个值。在条件语句中任何传入的类型都将被转换为Boolean类型,来判断其该走哪个条件分支,这时候就涉及到其他基本类型到Boolean类型的转换,它们的转换规则如下:

这个转换规则我们需要牢记,对我们以后书写判断条件以及阅读一些JS类库非常有帮助,也不再会对JavaScript的判断条件产生困惑了。

付费解锁全篇
购买本篇
《购买须知》  支付遇到问题 提交反馈
相关推荐
无障碍浏览 进入关怀版