ES6 语法学习(二)

1、类的建立与继承

constructor方法是类的构造函数是默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显式定义,一个默认的constructor方法会被添加。所以即使你没有添加构造函数,也是有默认的构造函数的。一般constructor方法默认返回实例对象this,但是也可以指定constructor方法返回一个全新的对象,让返回的实例对象不是该类的实例

<script>
//注意,在书写ES6的类的时候,方法与方法之间是不能添加逗号的。
class Test {
    //constructor方法是类的构造函数是默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显式定义,一个默认的constructor方法会被添加。
    constructor(name, age) {
        //new.target 在类中返回的是test这个类,而不是实例化的类,可以通过new.target对静态方法的调用,在类里面也可以通过this.constructor对静态方法调用
        // console.log(new.target.say);
        //也可以判断是否是实例化后的实例
        console.log(this instanceof new.target);
        this.name = name;
        this.age = age;
    }

    //通过返回this实现链式调用
    asw() {
        console.log(`my name is ${this.name},my age is ${this.age}`);
        return this;
    }

    //静态方法前面要添加static进行修饰,同时里面的this表示test这个对象而不是实例化后的类
    //目前ES6未实现静态变量的定义,可以通过test.变量的形式进行定义
    static say() {
        console.log(this.other);
    }

    static other(name, age) {
        if (!(this instanceof Test)) {
            return new Test(name, age);
        }
    }
}

//在继类的时候用extends字实现子类对父类的继承
class Person extends Test {
    constructor(name, age, sex) {
        //调用super关键字实现属性的继承
        super(name, age);
        this.sex = sex;
    }

    ask() {
        //通过super关键字调用父类的方法
        super.asw();
        console.log(‘are you ok???‘);
    }
}

//静态属性的调用
Test.say();
//利用静态方法实现类的实例化
Test.other(‘ccc‘, 36).asw();
// new Test(‘aaa‘, 30).asw();
// new Person(‘bbb‘, 20).asw().ask();

2、async...await的简单使用

//实现自动调用
(async function () {
    try {
        let m = await $.get(‘./url‘);
        console.log(m);
    } catch (err) {
        console.log(err);
    }
})();

//用函数的形式调用
async function test() {
    try {
        let m = await $.get(‘./url‘);
        console.log(m);
    } catch (err) {
        console.log(err);
    }
}

原文地址:https://www.cnblogs.com/rickyctbu/p/10056455.html

时间: 2024-10-11 05:01:11

ES6 语法学习(二)的相关文章

ES6 语法学习总结

第一节:什么是ES6?   ES6是什么?跟JavaScript有什么关系? JavaScrip由三部分组成:分别是ECMAScript,BOM和DOM. 1)由此看出,ECMAScript是JavaScript的组成部分,是JS的核心,描述了语言的基本语法(var.for.if.array等)和数据类型(数字.字符串.布尔.函数.对象(obj.[].{}.null.未定义),ECMAScript是一套标准,定义了一种语言是什么样子.ECMAScript是一种由Ecma国际(前身为欧洲计算机制造

ES6语法 学习

ECMAScript 6,也被称为ECMAScript 2015是ECMAScript标准的最新版本.6是语言的一个重要更新,并第一次更新语言由于ES5 2009标准.现在主要JavaScript引擎中实现这些特性正在进行中.看到的ECMAScript 6语言完整规范的ES6标准. 微信小程序支持ES6写法 ECMAScript 6包括以下新的特点: Arrows 箭头是使用=>语法的函数缩写.它们在语法上类似于C#,Java 8和CoffeeScript中的相关功能.它们既支持语句块体,又支持

es6基础学习二 const

es5是没用常量声明这个选项,es6将其添加其中. 1.基本用法 const 声明一个只读常量.一旦申明,常量的值就不能改变. const PI = 3.1415; PI = 3; //SyntaxError const 声明的变量,一旦声明必须初始化(即赋值),否则报错. const foo; // syntaxError 除此之外,const的声明常量类似let声明的变量: a> 不存在变量提升 b> 只在声明所在的块级作用域内有效 c> 不能重复用var.let.const声明 e

es6语法总结二Promise

let checkLogin = function () { return new Promise(function (resolve, reject) { let flag = document.cookie.indexOf('userId')>-1?true:false; if(!flag){ console.log(flag) resolve({ status:0, result:true }) }else { reject('error000'); } }) }; let getUser

ES6语法的学习与实践

ES6是JavaScript语言的新一代标准,是ECMAScript的第六个版本,加入了很多新的功能和语法,在很多框架,如在使用Vue,React等框架的项目中一般都采用ES6语法来编写的,下面对经常用到的ES6语法做简要的介绍. 1.let,const let和const是ES6中新增的两个关键字,用来生命变量,let和const都是块级作用域.let声明的变量只在let命令所在的代码块内有效.const声明一个只读变量,一旦声明,常量的值就不可更改.与var声明的变量不同,var声明的是函数

Makefile持续学习二

Makefile概述 一.Makefile里有什么? Makefile里主要包含5个东西:显式规则.隐晦规则.变量定义.文件指示和注释 1.显式规则:显式规则说明如恶化生成一个或多的目标文件,包含要生成的文件,文件的依赖文件,生成的命令 2.隐晦规则:由make自动推动功能完成 3.变量定义:变量一般都是字符串,类似C语言中的宏定义,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上 4.文件指示: 在一个Makefile中引用另一个Makefile 根据某些情指定Makefil

WebStorm ES6 语法支持设置

ECMAScript 6是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础上,推出JavaScript 2.0.ES6的目标,是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言. 作为一只猴子,我也想尝试一下ES6有什么新特性,于是开始了学习之路. 在webstorm写下了这段代码,体验一下ES6语法的便利,但是一大堆报错 各种语法错误 what the fuck 相信每一只程序猴都不想在这样的环境下编码,

Java学习:二 基础

2014 - 5 - 22 上午 Java对大小写敏感. 点号(.)用于调用方法,Java的能用语法是: object.method(parameters); Java中的常量声明使用final关键字.且仅能赋值一次.习惯上,常量名大写. 可使用static final 定义一个类常量,以便在一个类中的多个方法中使用. 类常量定义在main方法外部,以便同一类其它方法可以使用.若使用public关键字,则其它类的方法也可以使用此常量. 字符串: Java中,允许使用+号拼接两个字符串. Java

Objective C 快速入门学习二

Objective-C 类.对象.方法 1.编写一个复数类: #import <Foundation/Foundation.h>@interface Complex: NSObject //类声明,Complex继承NSObject { int iReal;//成员变量声明,在括号内 int iImag; } //成员函数声明,在括号外 -(void) print; -(void) setReal : (int) n; -(void)setImag : (int) d; @end //@int