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循环遍历出来的是值

相关推荐
九年义务漏网鲨鱼6 小时前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
jz_ddk6 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
爱莉希雅&&&7 小时前
技术面试题,HR面试题
开发语言·学习·面试
Chef_Chen9 小时前
从0开始学习计算机视觉--Day08--卷积神经网络
学习·计算机视觉·cnn
weixin_446260859 小时前
Isaac Lab:让机器人学习更简单的开源框架
学习·机器人
一瓣橙子10 小时前
7.7日 实验03-Spark批处理开发(2)
开发语言·javascript·ajax
我真不会起名字啊11 小时前
OpenSceneGraph(OSG)开发学习
学习
永日4567011 小时前
学习日记-spring-day42-7.7
java·学习·spring
Love__Tay14 小时前
笔记/云计算基础
笔记·学习·云计算
wuxuanok17 小时前
Web后端开发-分层解耦
java·笔记·后端·学习