ES6学习记录—自己记录一直更新版

1. 什么是ECMA

全称:European computer manufacturers association欧洲计算机制造联合会;

2、它的标准名单中的:ECMA — 262脚本语言的规范:规范化脚本语言,叫ECMAScript ( 一定要记住);像ES5 ES6就是这样来的,但是ES5 、ES6不能单单的看成是一门语言,或者说ES*是一种规范一种标准。

3、编程语言:可以看成两个大类:
编译型 和 解释型 :两者没太大区别,只是翻译的时间长短的区别,两者都要经过翻译的过程;
编译型:就是将源码通过编译器编译成机器语言,在变成可以在某平台上可以执行的文件(可执行文件);
解释型:就是将源码通过解释器,解释一行就执行一行;
两者优缺点:解释型语言不需要根据不同的系统(window\mac\linux)平台进行移植(只要系统里有相应的解释器,就可以运行),而编译型反之(编译型在window编译的可执行文件就只适用于window);编译型的编译速度比解释型语言稍微快一点(在大程序里用编译型的好一点);
.java -> javac ->.class -> JVM解释执行

c++ .cpp源码 -> 编译器 -> .s汇编 -> 汇编器 -> .obj目标代码 -> 链接器 -> 可执行文件
脚本语言 -> 脚本引擎 -> 解释器
前端 后端
JavaScript客户端脚本 php服务端脚本

2.什么是ECMASpript

ECMASpript 是由 ECMA 国际通过ECMA-262 标准化的脚本程序设计语言 ;
ECMA 国际制定了许多标准,而ECMA-262只是其中的一个;

3. let —— 块儿级作用域 全局,函数,eval

就是在{}里的代码才有效 比如 if else while for
{
let obj = “这里是测试let”
}
console.log(‘obj’,obj) //这里会报错,obj未定义
如果换成 val 就可以正常输出了

4.let —— 不存在变量提升

console.log(‘song’)
var song //会输出underfunded
let song //会报错

5.let —— 不影响作用域链

6.const —— 要赋初始值

const OBJ= ‘a’ //正确
const A; //错误

7.const —— 一般常量使用大写(潜规则)

8.const —— 常量的值不能修改

const SCHOOL = ‘尚硅谷’
SCHOOL = ‘AAA’ //这里会报错,因为不能修改

9.const —— 块儿级作用域

{
const OBJ = “这里是测试let”
}
console.log(‘obj’,obj) //这里会报错

10.const —— 对于数组和对象的元素修改,不算对常量的修改,不会报错

const TEAM = [‘UZI’,‘MLXG’,‘Ming’,‘Shao’];
TEAM.push(‘Wang’); //不会报错 因为这个常量指向的地址没有改变
TEAM = 100; //报错

11.ES6 - 变量解析赋值

这被称为解构赋值

数组解构:
const F4 = [‘小沈阳’,‘张三’,‘李四’,‘赵五’];
let [xiao, zhang, li, zhao] = F4;
console.log(xiao); //输出为 —— 小沈阳
console.log(zhang); //输出为 —— 张三
console.log(li); //输出为 —— 李四
console.log(zhao); //输出为 —— 赵五
对象解构
const libai = {
name:‘李白’,
age:‘18’,
shici:function(){
console.log(‘这里是输出’)
}
}
let {name,age,shici} = libai
console.log(name); //输出为 —— 李白
console.log(age); //输出为 —— 18
console.log(shici); //输出为 —— {console.log(‘这里是输出’)}
shici() //这里是输出

如果只想提取方法
let {shici} = libai
shici() //这样也能用到方法

你可能感兴趣的:(es6,学习,前端)