0
点赞
收藏
分享

微信扫一扫

ES6笔记(新特性)

扒皮狼 2022-04-01 阅读 66
javascript

1、let声明变量:

  • 不能重复声明
  • 块级作用域(只在代码块中有效)
  • 不存在变量提升
  • 不影响作用域链 

2、const 常量

  • 需要赋初始值
  • 变量名要大写(书写规范)
  • 块级作用域
  • 常量不能修改
  • 引用数据类型(数组、对象)可以修改不保存,因为指向的该属性的 内存地址

3、for..in 和 for ... of

let xiyou = ['唐僧','猪八戒','沙和尚','孙悟空']


      for (const key in xiyou) {
        console.log(key) // 输出key,数组为下标,对象为键值
      }

      for (const item of xiyou) {
        console.log(item) // 输出value,数组为元素
      }


      let obj = {
        name:'张珊珊',
        age:12,
        sex:'女'
      }

      for (const key in obj) {
        console.log(key,obj[key]) // 输出key,数组为下标,对象为键值
      }

4 自定义迭代器

// 迭代器自定义遍历对象

      let school = {
        name:'XXX小学',
        className:['一年级','二年级','三年级','四年级','五年级','六年级','幼儿园'],
        [Symbol.iterator]:function(){
          let index = 0
          let _this = this
          return {
            next(){
              if(index<_this.className.length){
                let itemObj = {value:_this.className[index],done:false}
                index++
                return itemObj
              }else{
                return {value:undefined,done:true}
              }
              
            }
          }
        }
      }

      for (const item of school) {
        console.log(item)
      }

5。Set集合

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 不重复的集合
        let set = new Set(['鸣人','佐助','卡卡西','佐助'])
        // 添加一个
        set.add('大蛇丸')
        set.add('宇智波·斑')
        set.add('纲手')

        // 删除一个
        set.delete('大蛇丸')
        // 查找是否存在
        console.log(set.has('小樱'))
        console.log(set.has('卡卡西'))
        console.log(set)

        // 遍历set集合
        for (const v of set) {
            console.log(v)
        }
    </script>
</head>
<body>
    
</body>
</html>

6.Map 的使用:唯一键值对

        // Map 的使用

        let map = new Map()

        // 添加数据
        map.set('username','张三')
        map.set('username','张三11')
        map.set(13,[1,3,4])
        let obj = {
            school:'了再發給'
        }
        map.set(obj,[{name:'可靠性1'},{name:'可靠性2'},{name:'可靠性3'}])
        map.set({...obj},[{name:'可靠性11'},{name:'可靠性22'},{name:'可靠性33'}])
        console.log(map)


        // 删除数据
        map.delete(obj)

        // 清空数据
        map.clear()
        // 遍历map

        for (const item of map) {
            console.log(item)
        }
举报

相关推荐

ES6笔记一

ES6笔记总结

学习ES6笔记

JavaScript ES6新特性(笔记)

ES6新特性④

ES6新特性

【ES6新特性】

ES6新特性②

ES6新特性(一)

0 条评论