DAY15JS学习--ES6特性-数据类型symbol、map、set、for-of循环、模块化语法

一、Symbol类型

1、数据类型

(1)基本数据类型

number  string boolean null undefined

(2)复杂数据类型(内置对象)

Object   Array  String  Number  Math  Date  Boolean等

(3)Symbol Es6的新增的基本数据类型

 表示独一无二的值

定义:let sym=Symbol(描述符)

描述符=>描述当前symbol表示什么意义

二、Set 复杂数据类型(内置对象)

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

2、创建:

let set=new Set()   //空集合
let set = new Set([1,2,3,function(){}])  //可以存储数字、字符串、对象、函数等

3、属性和方法

(1)size属性

数组中存储的个数

(2)add方法

添加数据

(3)delete方法

删除数据

(4)clear 方法

清除所有元素

set.clear()

(5)forEach遍历数组

set.forEach(iteam =>{

    //函数体

})

(6)获取Set结构里面的数据需要借助展开运算符,将Set转为Array

4、特点

集合Set中元素不能重复

5、应用

(1)数组去重

let arr=[1,2,2,4,4,6]
arr=[...new Set(arr)]

三、map 复杂数据类型

1、作用:一个数据集合,类似于对象Object的数据集合

Object的对象属性名是字符串类型

Map存储的数据也是键值对(key/value)形式,key可以是任何类型

2、创建

let map=new Map()
let map=new Map([['name','jack'],[100,80]])

3、属性和方法

(1)size属性

获取数据个数

(2)set方法

添加属性

map.set(true,'成立')

true =>key

'成立' => value

(3)delete 方法

删除数据

map.delete(true)

true =>key

(4)get方法

获取属性值

map.get(true)

true =>key

(5)clear 方法 清除所有数据

map.clear()

(6)has方法

判断集合是否有某一个数据

map.has(true)

4、特点

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

value = map.get(key)

四、for-of循环

1、作用:遍历数组、字符串、map

2、语法

for(let v of arr){
   //遍历的v是数组元素

}

for(let v of str){
   //v遍历的是字符

}

for(let v of map){
   //v遍历的是对象元素

}

五、模块化语法  import/export

1、模块化

(1)每个js文件可以看作是一个模块

(2)每个js模块中的内容与其他模块相互独立

2、模块间通讯

(1)方法一:

>a.js暴露模块

export{变量名,方法名}

//名字为a的js文件

import let arr=[1,2,3]

>b.js引入模块

import{变更名,方法名}from './a.js'

//名字为b的js文件
import {arr} from './a.js'

>index.html中:

注意:一定要在script标签中添加type='module',这样html才能识别import

//名为index的html文件
<script  type='module'>
      
     import{arr} from './a.js'
     let newArr=arr
     consol.log(newArr)

</script>

(2)方法二:默认模块化输出,一个js只能定义一次

export default{name:'jack'}

import A form'./c.js'

//A是任意变量名
//import 后面不用加花括号

六、js错误处理机制

1、异常错误分类

每个异常对应一个异常对象

(1)syntaxError  语法错误

(2)ReferenceError 引用错误

(3)TypeError 类型错误

(4)RangeError 值超出范围时发生的错误

2、自己捕获异常进行处理

try{
   //可能发生异常的代码
}catch(error //异常对象){
   //报错才会执行
} finally{
   //无论报不报错,都会执行
}


//finally可有可无,视情况而定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值