这两天都在跑步,这平时不锻炼,突然一活动整的哪都疼。主要是天天坐着这个腰确实不好受。没啥事的时候,能活动就活动活动,别学习的时候盯着电脑,休息的时候看手机。好了,步入正题。
可选链(?.)
这个确实触及到我知识盲区了,以前从来没遇到过,但是经过老师的讲解,还是比较简单的。为了帮助理解,直接上代码了。
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);
输出结果
很容易的就能获取到。
集合
这个看起来既熟悉又陌生。因为我们再数学中接触过这个名词。直接上代码帮助理解
const ordersSet = new Set([
'Pasta',
'Pizza',
'Pizza',
'Risotto',
'Pasta',
'Pizza'
])
console.log(ordersSet);
输出的结果是
这样看来就很清晰了,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);
这需要用到之前说过的扩展运算符,输出结果
问题迎刃而解。
Map()
const arr = new Map()
arr.set('a', 1);
arr.set('b', 2)
console.log(arr);
console.log(arr.get('a'));
arr.set()可以向地图中添加元素,arr.get()可以获取地图中元素,同时他也有has(),clear()等方法。现在还看不到他的实质作用,但是可以肯定他是个很重要的知识点,等应用到时再记录。
好了,今天就到这了,继续加油。