#兼容性:
IE10+ Chrome Firefox 移动端 NodeJs
#编译 、 转换
1.在线转换
2.提前编译
babel === browser.js (同一个东西,俩名)
如何用: 1:引入browser.js 2.<script type= 'text/babel'></scrip
-----------------------------------------------------
ES6:
###1.变量
var 的几个问题
1.可以重复声明
2.无法限制修改 eg: PI = 3.1415926
3.没有块级作用域
let 不能重复声明,变量-可以修改,有块级作用域
const 不能重复声明,常量-不能修改,有块级作用域
###2.函数
1箭头函数
function mingzi(){
}
()=>{
}
1.如果只有一个参数,()可以省
2.如果只有一个return , {} 可以省 ,同时也可以连同 return 一起省
------------------------------------------------------------
()——只有一个参数
{} ——只有一个return
2函数的参数
1.参数扩展、数组展开
参数扩展:
*1.收集剩余的参数
function show(a, b, ....args)({
*Rest Parameter 必须是最后一个
}
*2.展开一个数组
let arr = [1,2,3];
//...arr
//1,2,3
展开后的效果,跟直接把数组写在这儿一样
---------------------------------------------------------------------------
默认参数
----------------------------------------------
*解构赋值 ====》是个整体,不能分!!
1.左右两边结构必须一样
2.右边必须是个东西(合法)
3.声明和赋值不能分开(必须在一句话里完成)
let [a,b,c] = [1,3,5]
let {a,b,c} = {a:1,b:2,c:3}
//粒度 自由
let [json, arr, num, str] = [{a: 12, b: 13}, [12, 35, 67], 8, 'sdfa'];
console.log(json,arr, num, str);
###3.数组
map 映射 一个对一个
【12,38,99,83,34】
[不及格,不及格,优秀,不错,烂】
reduce 汇总 一堆出来一个
算个总数
【12,333,64,55】 =======》54794
算个平均数
【33,23,29】 =======》 28.5
filter 过滤器 留一部分消失一部分,全删全留都行
forEach 循环(迭代)
###4.字符串
1.多了两个新方法
startsWith 以什么什么开始
endsWith
2.字符串模板
###5.面向对象
吐槽:*1. 类 和 构造函数 不分
*2 类 撒开 了 : 原型对象上加方法 ,还要单独 拿出来写!!!
1.class关键字、构造函数和类分开了
2.class里面直接加方法,无需 ‘外挂’ 到 外面 !
###面向对象最有价值的:继承!!
super------------超类===父类
===============================================================================
面向对象 应用 ------------React
React:
1.组件化=====class
2.JSX ===babel===browser.js
---------------------------------------------------------------
###6.Promise
###7.generator
###8.模块化
网友评论