啥是ES5,啥又是ES6?
首先ES是ECMAScript的缩写;而ECMAScript是网页脚本和语言的一种标准,通俗的说就是 javascript的几个标准(语法,变量和函数的写法),是由ECMA这个组织制定的
2009年,ES5横空出世,直到2015年又出现了ES6;ES6是JavaScript语言的下一代标准,已经在2015年6月正式发布了
那么面试官的问题来了,es5和6有啥区别,es6有什么新特性呢?
es5中声明变量只有var,声明函数只有function
es6中又增加了let,consth和 =>(箭头函数)
let是声明变量
const(声明常量,常量是不能修改的量)
var、let、const的区别?
-
let和const声明变量不存在变量提升,如果要使用这个变量,我们需要在变量定义之后使用;
-
let和const不能重复声明变量,如果重复声明会报错;
-
用let和 const 在全局声明变量不会给window增加属性;
-
let和const出现在代码块中,会把代码块(字面量声明对象除外)变成块级作用域,并且出现暂时性死区
class(创建类)
import/export(基于ES6的模块规范创建导入/导出模块(文件/组件))
new set(数组去重)
Symbol(唯一的值) vara = Symbol(‘qqq’)
…ary(展开运算符、剩余运算符)
${}模板字符串
解构赋值 let {a} = obj; let [b] = ary
for of 循环
()=>{} 箭头函数
箭头函数与普通函数的区别:
-
箭头函数是匿名函数,不能作为构造函数,不能使用new
-
箭头函数没有原型属性
3.this指向不同,箭头函数的this是定义时所在的对象,普通函数看前面有没有.,点前面是谁this 就是谁,没有.就是window
- 不可以使用arguments对象,该对象在函数体内不存在。
数组新增方法:flat、find、findIndex
对象的新增方法有这几个:Object.assign() Object.values() Object.keys() Object.create()…
学习的时光总是短暂,又到了时候讲拜拜
欢迎关注公众号: oldCode