一、symbol类型

1.引入原因:ES5的对象属性名都是字符串,很容易造成属性名冲突



symbol表示独一无二的值:

2.创建symbol:



let syml=symbol(描述符:去描述当前symbol表示什么意义)



二、set类型




1.作用:存储无序数据的集合




2.创建:


let set=new Set()


let set = new Set([1,2{name:'jack'},function()])  //存储的值可以是任意的东西

3.常用的属性和方法:


1>

size

:用来获取该数据结构中有多少个数

set.size


2>

add

:用来追加元素

set.add()


3>

delete

:用来删除数组中某个元素

set.delete()


4>

clear

:清空所有元素

set.clear()


5>

forEach

:遍历元素

set.forEach(function(item){})


6>

…展开运算符

:获取set里的数据

set转数组



set转数组:集合转数组


function test(){
let set = new Set([10,20,30])
let arr=[...set]
}

4.特点:

集合set中的元素不能重复


5.应用:


数组去重

function test(){
let arr = [10,20,10,30,20]
let set = new Set(arr)   //此时已经去重成功
arr = [...set]  //转成数组去重成功

Map:复杂数据类型

1.作用:是一个数据集合,是一个很类似于对象object的数据集合

2.Map存储的数据是key/value形式,key可以是任意类型

3.创建:

let map = new Map()


let map = new Map([‘name’,’jack’],[100,18])


4.常用的属性和方法:



1>set:向集合中添加数据:




map.set(ture,’成立’)



2>get:获取元素:




map.get(ture)



3>delete:删除元素:




map.delete(ture)



4>has:判断集合中是否有元素:




map.has(ture)



5.特点:查找存储在map中的数据,可以不用遍历,根据key直接获取




value=map.get(key)

//数组转map
let map = new Map()
arr.forEach(item=>{
 map.set(item.value,item,name)})

for-of循环:遍历数组,字符串,Map

语法:

for(let v of arr){}


如果是遍历数组,v就表示数组元素,遍历字符串,v就表示字符

function test(){
 let arr=[10,20,30]
for(const v of arr){
  console.log(v)}       //遍历出数组元素

模块化语法:import/export

1.模块化:每个js文件都可以看作一个模块,每个js模块中的内容与其他模块相互独立

2.模块间通讯:

1.第一种:

a.js暴露模块:

export变量或方法名


b.js引入模块:


import{变量,方法} from ‘a.js’


index.html:<script type=”module”>import{变量,方法} from ‘a.js'</script>

2.第二种:


export default{name:’jack’}


import A from ‘c.js’

//直接在需要暴露的方法前加export
let num = 100
//暴露
export const getMax=(m,n)=>{
 let max=m
 if(n>max){max=n}
//导入/引入
<script>import{getMax}from 'a.js'      //暴露方式
        let max = getMax(20,30)    //调用模块化里面的函数
</script>
 //显示最大值
const spanEle=document.querySelector('span')
spanEle.innerHTML=Max

js错误处理机制:

1.javascript引擎负责执行javascript代码,如果发现错误代码,js引擎会向上抛出异常错误,如果异常错误没有处理语句,继续向上抛,直到系统处理

2.系统处理方式:终止程序执行,在控制台显示异常错误信息

3.异常错误的分类:运行时的错误/逻辑错误


SyntaxError—–>语法错误


ReferenceError—–>引用错误


TypeError—–>类型错误


RangeErrorr—–>值超出有效范围时发生的错误


4.自己捕获异常进行处理:

try{
    //可能发生的异常
}catch(error){console.log(error) //自己打印异常}finally{不论程序有无出错都执行}


查询数组中满足条件的元素的索引号:

let index = ProductList.findIndex(item=>item.number==id)   //遍历数组



版权声明:本文为m0_68488342原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_68488342/article/details/126666078