此文章中的 ES6 泛指ES5之后新出现的语法,本文仅用于参考,最主要的还是给自己自我学习的一种记录,各位大佬走过路过发现任何 bug 请速速指出,小生在此先行谢过了。
本人前端小白一枚,自我学习前端知识ing。各位大佬都知道,ES6 已经成为现如今js编程的实施标准,也是现如今前端面试中必不可少的部分,我呢,在自学敲代码的过程中也有许多片段的学习及心得,但都没有系统的梳理过相关的语法,本小白在掘金的第一篇文章就贡献给强大的ES6语法啦!
#1.定义变量的方式 let const
**let** 变量声明
**const** 常量声明
1.增加了块级作用域,声明的对象不会提升
2.不能重复声明,减少了代码的出错率
3.const使用前必须初始化(赋值),且不能修改
ES5变量声明的关键字 var虽然没有块级作用域的概念,可以跨块访问,但有函数作用域的概念,不能跨函数作用域访问。
小提示: const Person = { name: 'Tom', age: 18 } Person.name = 'Jerry' console.log(Person.name)
噫!这个时候 const 定义的变量怎么就变化了呢?经过一番探讨(百度)之后,原来 const 定义的对象是引用类型, const 只能保证引用对象的指针不变化,但却不能保证指针指向的属性不变化啊,所以改变引用对象的属性并不会影响到指针,所以说只要 const 定义的对象指针不发生改变,改变其他的都是允许的。(或许有点小坑...)

原来ES5时代定义一个函数的方式...
function a ()
{
....
}
ES6时代:let b = () => {}
优点:
1.去掉了function 关键字,简化了函数定义的语法
2.有效的规避了this作用域丢失的问题,this永远指向父级作用域,而不是调用时的作用域
3.如果只有一个参数可以省略(),代码是直接返回return ,{}也可以省略

这玩意(``)叫反单引号,可以用来表示普通字符串,也可以用来拼接字符串。
ES5时代拼接字符串需要这样....
var name = 'Tom';
var age = 18;
var str = 名字: +'name' + 年龄:+'age'...
ES6时代呢是这样的....
let name ='Tom';
let age = 18;
let str = `名字:${name} 年龄: ${sex} 的`
console.log(str)...
这么看来,输出结果是相同的,但ES6的模板字符串就是让你的代码显得优雅一些不是么...(爱装逼不是我本性= =)
