推广 热搜: 百度  搜索引擎  企业  可以  选择  使用  page 

ES5和ES6

   日期:2024-12-31     作者:u3f2o    caijiyuan  
核心提示:JavaScript这种语言的基本语法结构是由ECMAScript来标准化的, 所以我们说的JavaScript版本一般指的是ECMAScript版本.es5是2009.1

 Javascript这种语言的基本语法结构是由ECMAscript来标准化的, 所以我们说的Javascript版本一般指的是ECMAscript版本.es5是2009.12月发布的es6是2015.6月发布的。vue2

完全支持es5的(vue3完全支持es6的),react完全支持es6

(1)变量必须要带修饰符

(2)函数里面this不能指向window

(3)不允许在非函数的代码块内声明函数


(4)禁止八进制方法
(5)函数的arguments数组形参和实参不同步

  • forEach没有返回值 里面没有return
  • map有返回值 所以里面可以使用return关键词他的返回值是一个数组
  • 实现reduce函数求和
  • 底层实现reduce
  • call传递的参数是一个个的内容,使用,隔开
  • apply传递的参数是一个整个数组

ECMAscript 6(简称ES6)是Javascript语言的下一代标准,已经在2015年6月正式发布了。ES6的目标,是使得Javascript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。 es6对应数组 字符串 对象及函数以及循环,值类型,修饰符等都有加强(es6以后的内容都称为es6的内容)

(1)find 查找

(2)findIndex 查找下标

静态方法(使用类名.)

(3)Array.of() 将一组数据转为数组

(4)Array.from() 将伪数组转为数组

(1)includes 是否包含 (包含返回true 不包含返回false)


(2)startsWith 是否以这个字符串开头 (是返回true 不是返回false)


(3)endsWith 是否以这个字符串结尾 (是返回true 不是返回false)


(4)repeat 重复多次的去平铺对应的字符串

(1)var 关键词修饰的变量是伪全局变量(进行变量提升)


(2)let 关键词 块状作用域 (变量名不能重复声明 避免变量名污染)


(3)const 关键词 常量(常量不可变 也不能重复声明 声明一定要赋值(不能二次赋值))

旧有值类型
number , String , boolean , null , undefined

新增的类型

(1) symbol 独一无二的值

(2)bigInt 大的整型

静态方法

(1)is方法 Object.is() 判断俩个对象是否是一个(true或者false)

(2)Object.assign 将后面对象合并当前前面 返回的是合并的对象

(1)箭头函数

(2)箭头函数的简化

  • 如果只有一个参数 可以省略()
  • 如果只有一句代码的话 可以省略{}
  • 如果只有一句代码 且你需要返回数据情况下 可以省略对应的 retrun

(3)箭头函数的特性

  • 箭头函数里面没有this(根据作用域链向上查找对应的this)

(4)默认参数

(1)属性的简化
当你的属性值是一个变量的情况下,以及你向使用你的变量作为key的名,这个时候可以省略key

(2)函数的简写

  • for in 是用于遍历对象的 遍历的是对象的里面key 他也可以遍历数组(数组也是对象)
  • for of 是用于遍历数组的 遍历的是数组里面的value 不可以遍历对象(只有实现了迭代器的对象才可以被遍历 必须具备length或者size属性)

(1)如果要使用对应的for of来遍历对象的话 怎么办!

Object的几个方法(静态方法) 可以用来实现对应的遍历

  • keys 拿到所有的key
  • values 拿到所有的值
  • entries 拿到所有的键值对


(1)set 元素不重复的一个集合(去重)

set声明

  • 无参
  • 将数组作为参数传递

(2)相关的方法(增删改查)

  • add 添加
  • delete 删除
  • clear 清空
  • keys 获取key
  • values 获取值
  • entries 获取键值对象
  • forEach 遍历(三个参数分别是value,key,set)
  • has 判断是否存在 (返回的是boolean类型)

(3)属性

size获取对应的长度

(4)WeakSet 内容存储对应的set(只能存储对象 但并不能完成去重)

(5)map 基于set和array之上构建的一个集合(key(set)-value(array))

map的声明

map对应的方法

  • get 通过key来获取value
  • set 存入一个key-value
  • delete 通过key来删除
  • clear 清空所有
  • keys 获取所有的key values 获取所有的值 entries 获取所有的键值对
  • has 判断当前key是否存在
  • forEach 遍历

(1)解除构建

(1)...打开数组拿出里面的内容

他是用于对象构建的 (类只是一个构建对象的容器 )调用这个class要使用new关键词

注意事项

  • class 修饰的类 类名首字母必须大写
  • class 不允许重复声明
  • class 里面this只能存在于constructor(构造器)里面
  • class 里面this指向当前实例化对象
  • 在实例化的过程 new的过程的 调用的constructor函数 跟其他函数无关(所以当前在constructor都会重新声明一次)

extends 用于继承 他会拥有父类所有的非私有的属性及方法

注意事项

  • 在子类构造里面如果想要使用this 必须先要使用super()
  • super指向父类的构造器
  • 子类无法获取构造器之外的函数
(1)使用reduce求数组中所有元素的乘积, var arr = [2,3,4,5,6,7]

(2)使用reduce求数组中的最大数, var arr = [2,4,6,3,7,8,5]

(3)使用indexOf完成数组去重.

(4)使用for-of求5! (1*2*3*4*5)

(5)使用for-of求1!+2!+3!+4!+5!

(6)使用for-of求数组的最大数和最小数


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类生活信息

文章列表
相关文章
最新动态
推荐图文
生活信息
点击排行