欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ES6的类与继承,箭头函数

程序员文章站 2023-12-21 13:23:52
...
class Person{
 //类的构造函数,在new Person的时候自动进行调用;
 //构造函数的作用:用于对实例进行初始化;
 constructor(name,age){
  this.name=name;
  this.age=age;
 }
 say(){
  console.log(this.name);
 }
}
var person=new Person('张三',23);
 person.say();//张三
//类的继承
class Student extends Person{
	 constructor(name,age,id){
	   	 super(name,age);
	  	 this.id=id;
	  
 }
 var stu=new Student('haha',18,1002);
console.log(stu.id);

在class中定义属性并向外提供接口

class Student extends Person{
  
  constructor(name,age,id){
    super(name,age);
    this.id=id;
  }
  get tall(){//
   return this.name;
  }
  set tall(value){
   return this.name=value;
  }
 }
 var stu=new Student();
// console.log(stu.tall);//undefined
 stu.tall=178;
 console.log(stu.tall);//178

注意:ES6中创建的类(对象)是不允许直接调用
ES5中构造函数可以直接运行
j箭头函数

// let fun1=()=>console.log('hello');
//传递一个参数的时候
 //let fun1=(p)=>return p;//等价于下方
 let fun1=p=>p;
 var s=fun1(23);
 console.log(s);//23

//若定义多个参数或者多个函数体

let fun2=(p)=>{let num=10;return num;}
 let n=fun2();
 console.log(n);//10

箭头函数的遍历

arr.forEach(function(element,index){});
 let arr=[1,3,5,7];
 arr.forEach((element,index)=>{console.log(element,index);});
/* 1 0
 3 1
 5 2
 7 3*/

注意:函数中this取决于函数定义,而不是函数调用

function fun3(){
  console.log(this);
 }
 fun3();//返回 nodejs环境中的所有成员
//可以改变this指向
 function fun4(){
  console.log(this);
 }
 fun4.call({num:10});//this={ num: 10 }

//注意:箭头函数不可new
不可以使用arguments获取参数列表(结果并没有报错,而是返回一个对象列表,但存放数据的成员为空),但是可以使用rest代替
//用剩余参数rest实现;

let fun6=(...rest)=>{console.log(rest)};
 fun6(123,4,6);//获取参数列表[ 123, 4, 6 ]

上一篇:

下一篇: