es6初步学习
Es6
作用:
- 语法简洁,功能丰富
- 框架开发应用
- 前端开发职位要求
ECMAScript
- 它是一个脚本程序设计语言
- 注意:块级作用域是指变量只在特定的代码块(通常由一对花括号{}包裹,比如if语句、for循环、while循环等的代码块 )中可见的作用域。
let
let :
- 可以批量的声明和赋初始值
- 变量不能重复声明
- 块级作用域
- 需要写在代码块中
- 不存在变量提升
- 不影响作用域链(顺着作用域链往上找,不是向外找)
- 实例:{
let girl=‘周扬青’
}
const
const
- 声明常量
- 一定要赋初始值
- 一般常量使用大写
- 常量的值不能修改
- 块级作用域
- 对于数组和对象的元素修改,不能算作对常量的修改,不会报错
解构赋值
- ES6允许按照一定模式从数组和对象中提取值,对变量进行赋值,成为解构赋值
- 分类: 1. 数组解构 2. 对象解构
模板字符串
-
. 声明字符串的方式: `` , ‘’ , “”
-
. 内容中可以直接出现换行符
-
-
.变量拼接
用’':
用``:
简化对象写法
ES6 允许在大括号里,直接写入变量和函数,作为对象的属性和方法,书写更简洁箭头函数
-
this是静态的,this始终指向函数声明时所在作用域下的this的值(外层作用域)
-
不能作为构造函数
没有自身的this绑定:箭头函数没有自己独立的this值,它的this是继承自外层作用域。在构造函数的机制中,this需要指向新创建的对象来添加属性,但箭头函数无法满足这一点,它的this指向是固定的,不会因为new调用而改变。 -
不能使用arguments变量,如果在箭头函数中使用 arguments,它会引外层函数的 arguments
-
注意:arguments 是一个特殊的类数组对象,它有索引和 length 属性,当你不确定函数会接收多少个参数时,arguments 就非常有用。比如上面的 add 函数,可以接受任意数量的参数并求和。
-
箭头函数的简写
1)省略小括号,当形参有且只有一个的时候
2)省略花括号,当代码体只有一个语句时,此时return 必须省略,而且语句的执行结果就是函数返回值
-
箭头函数适合与this无关的回调,定时器,数组的方法回调
箭头函数不适合与this有关的回调,事件回调,对象的方法
函数参数默认值
-
允许给函数参数赋值初始值
-
-
解构赋值
rest参数
ES6引入rest参数,用于获取函数的实参,用来代替arguments
- 参数前必须加 …
function date(...args){
console.log(args)
}
date('小红','小绿','小兰');
- rest参数必须放到参数最后
function fn(a,b,...args){
console.log(a);
console.log(b);
console.log(args);
}
fn(1,2,3,4,5,6,78,8,9,0)
扩展运算符
…扩展运算符能将数组转换成逗号分隔的参数序列
symbol基本使用
- 新的原始数据类型
- 特点:
1. symbol的值是唯一的,解决命名冲突的问题
2. symbol的值不能与其他数据进行运算
3. symbol定义的对象属性不能使用for…in遍历,但是可以用Reflect.ownKeys来获取对象的所有键名
数据类型
创建对象属性
向对象中添加方法 up down
迭代器
- 它是一种接口,任何数据只要部署iterator接口,就可以完成遍历操作
- 创造了一个新的遍历命令for…of循环,terator接口主要提供for… of
消费
2.原生具备iterator接口数据(可用for of遍历)
for in循环遍历出来的是1,2,3…
for of循环遍历出来的是值