常用ES6特性

  • 用let 来代替var即可,let定义不具有变量提升作用,同一作用域内不可重复定义,块级作用域

  • const表示常量初始化后不可被修改,初始化必须被赋值,一旦初始化之后不可被改变

  • class 和 extends

class base {    
  constructor(name) {      
  this.name = name;   
 };   
 say() {        
  console.log(this.name);   
 }
}
class thread extends base {   
 constructor(name, age) {      
  super(name);   
     this.age = age;  
  }   
 say() {  
      console.log(this.name, this.age);    
  }
}
  • 字符串模板
console.log(`abcd${this.e}`)
  • 默认参数
function say(name='Lyf',age=22){
console.log(name,age);
}
say('mx');
  • 箭头函数,定义时就绑定不会被上下文环境改变,其值取决于父环境中this
o={
name:'name',
out1:function(){console.log(this.name)},
out2:()=>{console.log(this.name)}
}
o.out1()//name
o.out2()//undefined
(function () {
    name = 'quanjubianliang';
    var o = {
        name: 'name',
        out1: function () {
            console.log(this.name)
        },
        out2: ()=> {
            console.log(this.name)
        }
    };
    o.out1();//quanjubianliang
    o.out2();//name
})()
var oo = function () {
    this.name = 'name';
    this.out1 = function () {
        console.log(this.name)
    };
    this.out2 = ()=> {
        console.log(this.name)
    }
};
new oo().out1.call({name:'test'})//test
new oo().out2.call({name:'test'})//name
  • 解构
var [x,y,z]=[1, 2];
var person = {firstName: "John", lastName: "Doe"};
var {firstName, lastName} = person;
console.log(firstName,lastName);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定义函数 我们先来看一个基本的新特性,在javascript中,定义函数需要关键字function,但是在e...
    花开到咪兔阅读 2,571评论 1 3
  • (a fork of Airbnb's Javascript Style Guide) Strikingly ES...
    飘零_zyw阅读 4,902评论 1 2
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,388评论 2 17
  • 一幅图勾起了曾经的记忆 想起自己也曾年轻的日子 时光倒回二十几岁 年轻的我坐在你轻快的自行车上 吹着口哨唱着歌 穿...
    双鱼座cy阅读 2,361评论 23 16
  • 国内源下载对应镜像(debian-9.0.0-amd64-xfce-CD-1.iso)总大小为660M,相当小巧。...
    江月末如侍阅读 14,772评论 1 1

友情链接更多精彩内容