javaScript-系统知识点【 ES6 新语法】

ES6 操作对象相关的新语法

遍历

javascript 复制代码
// for in (遍历对象)
var obj = { a:1, b:2, c:3 }
    
for (let key in obj) {
  console.log(key)
}
// a b c

// for of (遍历数组)
const array1 = [ 'a', 'b', 'c' ]
 
for (const val of array1) {
  console.log(val)
}
// a b c

获取对象 key 值、val 值

javascript 复制代码
// Object.keys()
var obj = { foo: 'bar', baz: 42 }
Object.key(obj) // ["foo", baz]

// Object.values()
var obj = { foo: 'bar', baz: 42 }
Object.values(obj) // ["bar", 42]

ES6 有哪些新东西

  1. const let、变量提升、块级作用域
  2. 箭头函数
  3. 模板字符串
  4. 一些 API,map、filter、forEach、reduce
  5. promise
  6. 函数默认参数,剩余参数
  7. 新的数组、对象操作 API
  8. 解构, 可以避免在对象赋值时产生中间变量
  9. 扩展运算符 ...arr
  10. 类 class
  11. 迭代器
  12. 装饰器

JS进阶 | ES6知识点解析)

async/await 是 ES7 的语法

箭头函数函数 与 普通函数的区别?

  • this 指向不同, 且箭头函数 this 无法改变 (因为 箭头函数本身就没有原型,所以也没有所谓的 this)
  • 写法不同, 且箭头函数都是匿名函数
  • 箭头函数、没有 prototype、没有自己的 this 指向、不可以使用 arguments、自然不可以 new
  • 普通函数的 this ,谁调用了这个函数,this 就指向谁,要开运行时所处的环境
javascript 复制代码
let name = 'wyy'
let obj = {
    name:"wangcai",
    getName: function(){
        console.log(this)              

        function test(){
            console.log(this)                   
        }
        test()  // window.test( )
    }
}
obj.getName()

ES6中 Set 和 Map 的区别

区别

  • 初始化需要的值不一样,Map需要的是一个二维数组,而Set 需要的是一维 Array 数组

  • Map 和 Set 都不允许键重复

  • Map的键是不能修改,但是键对应的值是可以修改的;Set不能通过 迭代器 来改变Set的值,因为Set的值就是键

  • Map 是键值对的存在,值也不作为健;而 Set 没有 value 只有 key,value 就是 key

优点

  • 最大优点就是运行时间少大大提高了性能
相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
晨米酱4 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
C语言小火车4 天前
C/C++ 为什么需要编译器?
开发语言·c++