es系列
Posted liqunblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了es系列相关的知识,希望对你有一定的参考价值。
重要版本
- es5 : 09年发布 - es6 : 15年发布, ECMA2015 - es7 : 16年发布, ECMA2016 (微变)
ES5部分新增内容
严格模式 - use strict声明 - 必须用var定义变量 - 禁止自定义函数this指向window - eval创建自己的作用域,避免函数不安全 - 对象不允许有重名的属性
JSON对象 - JSON.stringify(obj/arr) //对象(数组)变字符 - JSON.parse(json) //字符变对象(数组)
Object扩展
Object常用的两个静态方法: - Object.create(prototype,[descriptors]) - 以对象为原型对象创建新对象,并扩展可以描述的属性 - value: 指定值 - writable: false //是否可修改 - configurable: false //是否可删 - enumerable: false //是否可列举 - Object.defineProperties(Object,descriptors) - 指定对象扩展多个属性 - get //获取这个属性时惰性建立属性值 - set //修改这个属性时触发的函数(外部修改无效) 对象本身的两个方法: - get propertyName(){} //获取propertyName时惰性建立属性值 - set propertyName(data){} //修改时触发的函数(外部修改无效)
Array扩展
Array.prototype.indexOf(value) Array.prototype.lastIndexOf(value) Array.prototype.forEach(function(item,index){}) //同步遍历 Array.prototype.map(function(item,index){}) Array.prototype.filter(function(item,index){})
Function扩展
-bind //改变返回 -call apply//改变执行(js)
ES6部分新增内容
let和const
- let - 块级作用域有效 - 不可重复定义 - 不会变量提升 - 特别地,循环定义时let仅第一次有效,不同于var为全局变量 - const - 定义常量 - 其余同let
解构赋值
- 对象或数组
模板字符串
- `${}`
对象简写方法
- 变量key value同名
- 函数func(){}
箭头函数
- 官方:箭头函数无自己的this(所以按照闭包原理:this不是在调用的时候决定的,而是在定义的时候所处的对象就是this)
- 有外层函数就是外层函数的this,无直到最外层则为window
以上是关于es系列的主要内容,如果未能解决你的问题,请参考以下文章
ES6 系列 90% 的前端都会使用 ES6 来简化代码,你都用过吗?
全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段
react入门系列之todolist代码优化(使用react 新特性,es6语法)
elasticsearch系列七:ES Java客户端-Elasticsearch Java client(ES Client 简介Java REST ClientJava ClientSpri(代码