1. ES6标准感觉越来越向传统语言靠拢了,以后写到ES6的标准都记录下:
var array = [1,2,3]; // =>操作符 array.forEach(v => console.log(v));
是不是简化了回调函数的写法。
=>可以简化函数的写法
1 var single = a => a; //single为函数;参数为a,函数体就只有a; 2 console.log(single(‘hello, world‘));
如果没有参数;那么写法如下:
1 var log = () => { 2 alert(‘no param‘); 3 }
注意点:
1.typeof运行符和普通的function一样
1 var func = a =>a; 2 console.log(typeof func); //function
2.this固定,不在善变
1 var obj= { 2 data:[‘John Backus‘,‘John Hopcroft‘], 3 init:function(){ 4 document.onclick = ev => { 5 alert(this.data); 6 } 7 } 8 } 9 obj.init(); //John Backus,John Hopcroft
3.箭头函数不能用new
var Person = (name,age)=>{ this.name= name; this.age = age; } var p =new Person(‘John‘,33); //Uncaught TypeError: (name,age)=>{(…)
4.不能使用argument
var func = ()= >{ console.log(arguments); } //出错
//重要的莫过于class关键字;它提供类的创建,是JS语言的OOP编程更像JAVA\C++等语言。测试了下,居然不支持
class Animal { //ES6的新型构造器 constructor(name){ this.name =name } sayName(){ console.log(‘My name is‘ + this.name); } } class Programmer extends Animal { constructor(name){ super(name); } program(){ console.log("I‘m coding"); } } var animal = new Animal(‘dummy‘), wayou = new Programmer(‘wayou‘); animal.sayName(); wayou.sayName(); wayou.program();
ES6没有私有成员的这个概念,那么可以采用闭门来解决。
时间: 2024-10-07 19:58:27