JavaScript 数据类型包括原始类型和对象类型。
上次我们谈到了原始类型。这一次,我们再来详细讲解下对象类型,它是可变数据类型。
对象类型
对象类型是可变的,与不可变的原始类型不同。
对象类型由多个变量或原始类型的值等组成,这些值本身可以在以后更改。换句话说,它是一种可以自定义的数据类型。
所有非原始类型的数据都属于对象类型,因此有多种类型。
对象(Object)
数组(Array)
函数(Function)
日期(Date)
正则表达式(RegExp)
映射(Map)和弱映射(Weak Map)
集合(Set)和弱集合(Weak Set)等
其中,我们将解释“对象”、“数组”、“函数”和“日期”的属性,它们是对象类型的基础。
对象(Object)
一个对象由一个盒子(一个容器)和盒子中的内容组成。
为了知道盒子里装的是什么样的东西,在容器上加上名字,并在需要时将其取出。
盒子里的东西即内容物称为“属性(property)”。属性由名称(key)和值(value组成。
请查看示例代码:
const obj = { color: 'red', shape: 'circle', size: 50, }; console.log(obj); // {color: "red", shape: "circle", size: 50} console.log(obj.color); // "red" console.log(obj.shape); // "circle" console.log(obj.size); // 50
指定对象名称以引用对象的全部内容。
访问属性时,通常在对象名称和属性名称之间写一个点,称为“点运算符” 。
数组(Array)
数组与对象一样,用于汇总多个数据并一次处理。数组中存储的元素的顺序是固定的,与对象的不同之处在于它们是从 0 开始的一系列整数,将数组的元素括在方括号[]中。
const array = ['red', 'green', 'yellow']; console.log(array[0]); // "red" console.log(array[3]); // undefined console.log(array.length); // 3
在大括号[]中从0开始索引编号。
这个索引号是按照它存储的顺序分配的,所以如果你指定它,你可以检索array[0]第一个存储的索引号:’red’
上面的数组包含3个元素,存储在最后面的元素的索引编号为2。
因此,即使指定array[3],也会判别为不存在的值,返回undefined。
还可以使用.length检查数组中的元素。
在上述情况下,因为存储了3个要素,所以可以确认返回3。
函数(Function)
函数(Function)是很重要的代码的集合。可以说函数(Function)在编程中一定会被使用。
function greeting () { console.log('hello'); } greeting(); // "hello"
在{}中写下处理,只需调用greeting()即可执行函数中的处理。使用这样的语法定义函数称为“函数声明”。
除此之外还有多个描述方法,但这里我们使用上面的描述方法作为函数类型的基础。
日期(Date)
顾名思义,日期和时间类型(Date)主要用于处理日期和时间。
const now = new Date(); console.log(now.getFullYear()); // 2022 console.log(now.getMonth()); // 9 console.log(now.getHours()); // 9 console.log(now.getMinutes()); // 30
new Date()可以通过写得到当前时间,现在赋值给变量。
通过new Date()可以取得当前时间,将其代入变量now。
然后,使用方法分别获取“年”、“月”、“时”、“分”。
这里的方法是, getFullYear(), getMonth(), 。getHours()getMinutes()
您可以像这样获取日期数据并将其更改为任何格式。
结语
这一次,我们深入了解了对象类型,它是 JavaScript 的数据类型之一。
正如所有非原始数据都属于对象类型一样,JavaScript 处理的大部分数据都是对象类型。
对象类型的特点是能够使用属性、方法等更改和引用数据。