es6初步学习

Es6

作用:

  1. 语法简洁,功能丰富
  2. 框架开发应用
  3. 前端开发职位要求

ECMAScript

  1. 它是一个脚本程序设计语言
  2. 注意:块级作用域是指变量只在特定的代码块(通常由一对花括号{}包裹,比如if语句、for循环、while循环等的代码块 )中可见的作用域。

let

let :

  1. 可以批量的声明和赋初始值
  2. 变量不能重复声明
  3. 块级作用域
  4. 需要写在代码块中
  5. 不存在变量提升
  6. 不影响作用域链(顺着作用域链往上找,不是向外找)
  7. 实例:{
    let girl='周扬青'
    }

const

const

  1. 声明常量
  2. 一定要赋初始值
  3. 一般常量使用大写
  4. 常量的值不能修改
  5. 块级作用域
  6. 对于数组和对象的元素修改,不能算作对常量的修改,不会报错

解构赋值

  1. ES6允许按照一定模式从数组和对象中提取值,对变量进行赋值,成为解构赋值
  2. 分类: 1. 数组解构 2. 对象解构

模板字符串

  1. . 声明字符串的方式: `` , '' , ""

  2. . 内容中可以直接出现换行符

  3. .变量拼接

    用'':

用``:

简化对象写法

ES6 允许在大括号里,直接写入变量和函数,作为对象的属性和方法,书写更简洁箭头函数

  1. this是静态的,this始终指向函数声明时所在作用域下的this的值(外层作用域)

  2. 不能作为构造函数

    没有自身的this绑定:箭头函数没有自己独立的this值,它的this是继承自外层作用域。在构造函数的机制中,this需要指向新创建的对象来添加属性,但箭头函数无法满足这一点,它的this指向是固定的,不会因为new调用而改变。

  3. 不能使用arguments变量,如果在箭头函数中使用 arguments,它会引外层函数的 arguments

  4. 注意:arguments 是一个特殊的类数组对象,它有索引和 length 属性,当你不确定函数会接收多少个参数时,arguments 就非常有用。比如上面的 add 函数,可以接受任意数量的参数并求和。

  5. 箭头函数的简写

    1)省略小括号,当形参有且只有一个的时候

    2)省略花括号,当代码体只有一个语句时,此时return 必须省略,而且语句的执行结果就是函数返回值

  6. 箭头函数适合与this无关的回调,定时器,数组的方法回调

    箭头函数不适合与this有关的回调,事件回调,对象的方法

函数参数默认值

  1. 允许给函数参数赋值初始值

  2. 解构赋值

rest参数

ES6引入rest参数,用于获取函数的实参,用来代替arguments

  1. 参数前必须加 ...
css 复制代码
function date(...args){
				 console.log(args)
			 }
			 date('小红','小绿','小兰');
  1. rest参数必须放到参数最后
css 复制代码
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. 新的原始数据类型
  2. 特点:
    1. symbol的值是唯一的,解决命名冲突的问题
    2. symbol的值不能与其他数据进行运算
    3. symbol定义的对象属性不能使用for...in遍历,但是可以用Reflect.ownKeys来获取对象的所有键名
      数据类型

创建对象属性

向对象中添加方法 up down

迭代器

  1. 它是一种接口,任何数据只要部署iterator接口,就可以完成遍历操作
  2. 创造了一个新的遍历命令for...of循环,terator接口主要提供for... of
    消费
    2.原生具备iterator接口数据(可用for of遍历)

for in循环遍历出来的是1,2,3...

for of循环遍历出来的是值

相关推荐
宁清明1 小时前
【小宁的学习日记2 C语言】C语言判断
c语言·学习·算法
又是忙碌的一天4 小时前
算法学习 13
数据结构·学习·算法
微露清风7 小时前
系统性学习C++-第八讲-vector类
java·c++·学习
月临水7 小时前
Git 学习笔记
笔记·git·学习·1024程序员节
奋斗的牛马8 小时前
FPGA—ZYNQ学习Debug(三)
学习·fpga开发
qq_401700418 小时前
matlab学习
学习·算法·matlab
hd51cc8 小时前
C++ 类的学习(四) 继承
开发语言·c++·学习
行思理10 小时前
Docker 应该如何学习 分四个阶段
学习·docker·容器
大山同学10 小时前
Blender学习-基础移动
数码相机·学习·blender
电子云与长程纠缠10 小时前
Blender入门学习05 - 材质
学习·blender·材质