-
let和const,var
特点:
let有块作用域,不能重复定义,没有变量提升
var没有块作用域,能重复定义,有变量提升 -
模板字符串
反引号定义字符串:
${ 取变量}
例如:
let result=`我的姓名是${goods.name},
我的价格是${goods.price}。`
3.对象的解构赋值:
对象的解构赋值:var { name1,price1 } = goods;
数组的解构赋值:var [one,two]=array1
4.展开操作符和 rest ...
展开操作:
列表转数组:... 实参传给 函数形参
数组转列表:....
合并需求:
var arr1=[32,453,546,56]
var arr2=[5,6,78]
arr1=[...arr1,...arr2]
-
数组的遍历方法
forEach():即for循环的升级版,返回值是undefined
result=arr1.forEach(function(item,index,arr) {//遍历 })
filter():即根据条件遍历数组,返回一个新数组
例如:result=arr1.filter(function(item,index,arr) {return item>400 })
map():根据遍历结果,返回处理后的数组
例如: result=users.map(function(item,index){ return `<div>用户名:${item.name},年龄:${item.age}</div>` })
ES6的类和继承
ES5:用函数来模拟类,用prototype来定义公共方法,继承
function Person(name,age) {
this.name=name || '用户名';
this.age=age || 0;
}
Person.prototype.eat=function() {
console.log(${this.name}会吃饭
);
}
function Chinese(name,age) {
this.theme="黄色"
Person.call(this,name,age);
}
//原型链继承
Chinese.prototype=new Person()
ES5继承参考资料:https://segmentfault.com/a/1190000002440502
call,apply,组合继承,原型链继承
ES6:用class模拟类,用extends实现继承
function Person(name,age) {
this.name=name || '用户名';
this.age=age || 0;
}
class Person {
constructor(name='用户名',age=0) {
this.name=name;
this.age=age;
}
play() {
console.log(`${this.name}会打游戏`);
}
}
class BwPer extends Per {
constructor(name,age) {
super() //ES6继承必须要写super()
}
HighSalary() {
}
}
参考资料:
https://www.cnblogs.com/xiao-hong/p/3194027.html
https://www.cnblogs.com/lvmh/p/6104397.html
1.巩固ES6
- react菜鸟教程到jsx语法
http://www.runoob.com/react/react-jsx.html
网友评论