ES6基础内容

一、 什么是ES6

ES6就是ECMAScript第6个版本。
由于ES6是2015年发布的,因此也叫ES2015(ECMAScript2015)

二、普通模式与严格模式

普通模式:就是正常写的js
严格模式:需要在脚本或者函数的最上边添加use strict。严格模式下需要严格按照ECMA的标准进行编写代码

三、ES6新增的内容
1、新增的变量的方法
  • let:用于定义变量
  • const:用于定义常量,在定义的时候就要赋值并且后面是不可以修改的

let、const与var的区别

  1. let和const不允许重复声明变量
  2. let和const声明的变量不会预解析
  3. let和const声明的变量会被所在的代码块限制
2、箭头函数

(参数)=>{ 函数体 }
如果只要一个参数和代码只有一句话可以简写为:参数=>代码
箭头函数中没有this,如果非要用其指向与上下文一样
箭头函数中没有arguments

3、默认值

如果函数的形参等于一个值,那么就是给这个形参设置了默认值

4、解构赋值

定义的变量名和对象里面的变量名一样

let obj={ 
           nema:"小明",
           age:18
}
let { name, age, aaa } = obj;

let arr = [18, 'zhangsan'];
let [a, username, aaa] = arr;

如果赋值的变量在复杂数据类型中没有,则会返回undefined(aaa就是undefined)
解构方式是根据顺序一个一个解构的

5、对象扩展

在创建对象的时候,如果对象的属性名与需要赋值给这个属性的变量的名字是一样的,那么就可以只写这个属性名。这个变量的值回自动赋值给这个属性

let name=“xiaoming”
let obj={
     name,
     name:name,
     //以上这两种的结果是一样的
   }

新增的静态方法: Object.assign,合并对象。

6、模板字符串

``:模板字符串就是反引号,可以创建字符串,是支持空格和换行的

7、展开运算符和获取剩余参数

:展开运算符,可以将对象或者数组展开
rest:获取剩余参数,就是展开运算符的逆用

let obj={
      name:"xiaoming",
      age:18
    }
7、模块化开发

模块化开发就是一个js文件就会一个模块,在这个模块中定义了很多的函数,再把这些函数引入到另一个js文件中。
核心:
export:导出
import:导入
在script标签 加 type="module"就代表开启模块化

8、新增的数据类型

Symbol:独一无二的值,通过这个函数创造的值是与如何值都不相等的。创建方式var s = Symbol ( " s " )
set:类似数组-- 不能存重复元素 --没有下标-(可以用作数组的去重)

  • size:大小,几个元素
  • has:判断是否存在
  • delete:删除元素
  • clear:清空元素
  • Array.from():将set转成数组

map 类似对象-- 键值对-- 键 可以是任意类型

9、json数据

json数据也叫json字符串,它是一个特殊的字符串格式。 属性名必须加双引号 ,如果不加双引号,解析的时候会报错 -JSON at position。属性值如果是字符串 必须要双引号。

  • JSON.parse: 解析json字符串为 js对象
  • JSON.stringify:把js对象转为 json字符串
四、正则表达式

正则就是描述字符串规则的对象。
作用:检查用户输入的内容是否满足一些条件。

1、创建方式

构造函数创建:new RegExp();
字面量创建:var reg = /hello/i;

2、api
  • lastIndex:开始检测位置
  • test() :测试字符串 是否满足正则的规则,是否匹配正则
  • .exec():提取
  • search():查找
3、字符

标识符

  • i:忽略大小写
  • g:全局

边界符

  • /^a/:必须要以a开头
  • /a$/:必须要以a结尾

限定符

  • *:匹配前面的子表达式零次或多次
  • +:匹配前面的子表达式一次或多次。
  • ?:匹配前面的子表达式零次或一次。
  • {n}:匹配确定n次。
  • {n,}:至少匹配n次。
  • {n, m}:最少匹配n次且,最多匹配m次。

特殊符号

  • []:字符集合。匹配所包含的任意一个字符。
  • [^]: 非,不能包含[]里面的字符
    [a-z]:字符范围。匹配a到z之间任意的元素
    [xyz]:匹配x、y、z任意一个元素即可
    [^a-z]:表示不包含小写字母。
    [^xyz]: 表示除了x、y、z之外都可以匹配。

基本字符

  • \d :匹配0-9之间的任一数字,相当于[0-9]。
  • \D: 匹配所有0-9以外的字符,相当于[^0-9]
  • \w: 匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]。
  • \W :除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]
  • \s: 匹配空格(包括换行符、制表符、空格符等)
  • \S: 匹配非空格的字符。
  • .:匹配除”\n”之外的任何单个字符
  • \:转义–去掉 一些元字符的特殊函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值