教程
战友们好,这节课我们学习一下:数据类型
数据类型分两大类,一类是值类型,一类是引用数据类型。
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
值类型和引用类型有什么区别呢?
比如我有一个钱包,钱包里面可以直接放钱,或者是放我的银行卡,如果是直接放钱的话,那么这些钱就是可以直接拿出来用的,但是银行卡却不能直接拿出来用,银行卡需要结合POS机或取钱后才能消费
直接放钱就是值类型,引用类型的意思就相当于放了一张银行卡
关于值类型和引用类型的具体区别,我们在使用的过程中去理解,不需要死记硬背。
之前说过变量就是一个容器,可以装任何东西,也就是说可以装任何类型的值。包括引用类型和值类型。
接下来我们挨个介绍一下这些数据类型
字符串
我们目前接触最多的就是字符串了,字符串就是用双引号或者单引号引起来的一串字符。如果引号内没有包含任何字符,那就叫空字符串。
举例
let name = '张三'
let height = '180cm'
let emptyStr = ''
数字
数字我们接触地也很多了,数字有整数和小数,但是都属于数字。
举例
let age = 26
let a = 188.88
let x = 123e5 // 这里是计数法,和数学上面是一致的,等同于 123 * 10 ** 5 这里**是^的意思
布尔
布尔类型就只有两个值,我们都用过了
let good = true;
let fail = false;
数组
数组刚学不久,数组就是:使用单独的变量名来存储一系列的值
举例
let cars=["Saab","Volvo","BMW"];
let numbers = [1,23,4,4,4,542,1234]
let peoples = [{name:'张三',age:18},{name:'李四',age:34}]
// 注意:元素下标从0开始
// 如何访问数组元素?
numbers[1]
对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔
举例
let person = {name:'张三',age:18,tag:'00后'}
// 访问对象属性
person.name
Undefined 和 Null
Undefined 这个值表示变量不含有值。
可以通过将变量的值设置为 null 来清空变量。
undefined是未定义,没定义过的变量就默认是这个值。null就是空的意思,也就是虽然定义了但为空
let noBody = null
Symbol
这个东西是近几年才加入进来的类型,意思是独一无二。只要创建出这种类型的值,那么就是独一无二的,永远不会重复。
例子
let sym1 = Symbol(1)
let sym2 = Symbol(1)
sym1 === sym2 // false
尽管上面创建symbol的过程一样,但是生成的值也不一样
如何获取变量的类型?
typeof 变量名
例子
typeof person
// 返回 "object"
作业
这节课的作业就是创建上面所有类型的变量,每种类型创建5个,然后自己研究一下,截图发到群里即可