第十四天前端浅记录

74 阅读2分钟

这两天都在跑步,这平时不锻炼,突然一活动整的哪都疼。主要是天天坐着这个腰确实不好受。没啥事的时候,能活动就活动活动,别学习的时候盯着电脑,休息的时候看手机。好了,步入正题。

可选链(?.)

这个确实触及到我知识盲区了,以前从来没遇到过,但是经过老师的讲解,还是比较简单的。为了帮助理解,直接上代码了。

const arr = {
    a: 1,
    b: 2,
    c: 3
}
console.log(arr?.c);

这一段代码看不出什么,返回的结果就是3,但是再看下面这一段。

const arr = {
    a: 1,
    b: 2,
    c: 3
}
console.log(arr?.d);

这次返回的结果是undefined,因为arr对象中是不存在d的,可选链的作用就是判别?前面的属性是否存在,如果存在,则会继续往后看,如果不存在,直接返回undefined。

获取对象keys,values的方法

Object.keys() && Object.values()

const arr = {
    a: 1,
    b: 2,
    c: 3
}
const arrKey = Object.keys(arr);
const arrValue = Object.values(arr);
console.log(arrKey, arrValue);

输出结果

image.png

很容易的就能获取到。

集合

这个看起来既熟悉又陌生。因为我们再数学中接触过这个名词。直接上代码帮助理解

const ordersSet = new Set([
    'Pasta',
    'Pizza',
    'Pizza',
    'Risotto',
    'Pasta',
    'Pizza'
])
console.log(ordersSet);

输出的结果是

image.png

这样看来就很清晰了,new Set([])它只会保存没有出现过的元素。这样想想还是很实用的。当然它也有很多方法。

ordersSet.size

可以返回数组的长度,有点像length

ordersSet.has()

可以检查数组中是否含有某个元素。

ordersSet.add()

可以向里面添加元素

注:此集合中添加两个相同元素会只显示一个

ordersSet.delete()

可以删除某个元素

ordersSet.clear()

清除所有元素

需要注意的是,此集合无法使用ordersSet[index]来获取想要一项的value 如果想实现此功能

const ordersSet = [...new Set([
    'Pasta',
    'Pizza',
    'Pizza',
    'Risotto',
    'Pasta',
    'Pizza'
])]
console.log(ordersSet);

这需要用到之前说过的扩展运算符,输出结果

image.png

问题迎刃而解。

Map()

const arr = new Map()
arr.set('a', 1);
arr.set('b', 2)
console.log(arr);
console.log(arr.get('a'));

image.png

arr.set()可以向地图中添加元素,arr.get()可以获取地图中元素,同时他也有has(),clear()等方法。现在还看不到他的实质作用,但是可以肯定他是个很重要的知识点,等应用到时再记录。

好了,今天就到这了,继续加油。