learn-es6常用语法(4)

1字符串新增方法

模板字符串

${变量}

 ``    `解决之前字符串连接要多次拼接的问题

新增方法  startsWith('http') 查找字符串开头是否包括

endsWith('.com')  查找字符串结束是否包括

includes('') 查找字符串中是否包含

repeat()  参数重复的次数

trimStart()消除头部空格  (es2019新增)

trimEnd()消除尾部空格(es2019新增)

---------------------------------------------------

class 对象

函数声明  fn1 function(){ console.log(111)}

函数表达式  let fn=function(){ console.log(111)}

class man={

constructor(){  //默认函数 在对象创建时自动调用

}

}

static  关键字  (私有方法)

(只有当前原型才可以执行该方法)

(this指向当前function不是当前的对象)

(不可以被继承)

class man{

constructor(name,age){this.name=name;this.age=age}

getName(){console.log(this.name)}

static getAge(){console.log(this.age)}   //this指function

}//不可继承static   this指向function   只有原型才能调用该私有函数  (原型可以调用静态方法 比如static  实例才可以调用非静态方法)

extends 继承

class supperman  extends man{

constructor(){

super() //继承父类的构造函数  并且把构造的原型指向子类

//代码等同于  man.prototype.constructor.call(this)

}

}

super对象指的就是父级 可以用super对象调用 父级的静态方法

class supperman extends man{

constructor(){

super()}

fngetage(){   super.getAge()}   //利用super对象获得父级的static方法 getAge

}

------------------

可以通过 set  get方法来监听赋值、读取操作

class  num{

constructor(valuezhi){this.valuezhi=valuezhi}

get getValue(){  if(typeof(this.valuezhi)!="number"){return "啦啦啦"}}

set setValue(val){

if(typeof(val)!="string"){ this.valuezhi="非字符串"}

else{this.valuezhi=val}

}

}

let numb=new num();

numb.setValue='123';

console.log(numb.zhi)  //字符串123

console.log(numb.getValue)  //啦啦啦

你可能感兴趣的:(learn-es6常用语法(4))