6.typescript类

类的定义

class Person {
    name: string;
    constructor(n: string) {
        this.name = n;
    }
    run(): void {
        console.log(this.name+ "在听歌");
    }
}
var p = new Person("林扬生");
p.run();
---
var Person = (function () {
    function Person(n) {
        this.name = n;
    }
    Person.prototype.run = function () {
        console.log(this.name + "在听歌");
    };
    return Person;
}());
var p = new Person("林扬生");
p.run();//林扬生在听歌
---
class Person {
    name;
    constructor(name) {
        this.name = name;
    }
    run() {
        console.log(this.name + "在听歌");
    }
}
var p = new Person("林扬生");
p.run();//林扬生在听歌

类的继承

class Person {
    name: string;
    constructor(name: string) {
        this.name = name;
    }
    run(): void {
        console.log(this.name + "在听歌");
    }
}
class dowhat extends Person {
    age: number;
    constructor(name: string, age: number) {
        super(name);
        this.age = age;
    }
    do(): void {
        super.run();
        console.log(this.name + "在打游戏");
    }
}
var p = new dowhat("林扬生", 24);
p.do();
---
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var Person = /** @class */ (function () {
    function Person(name) {
        this.name = name;
    }
    Person.prototype.run = function () {
        console.log(this.name + "在听歌");
    };
    return Person;
}());
var dowhat = /** @class */ (function (_super) {
    __extends(dowhat, _super);
    function dowhat(name, age) {
        var _this = _super.call(this, name) || this;
        _this.age = age;
        return _this;
    }
    dowhat.prototype["do"] = function () {
        console.log(this.name + "在打游戏");
    };
    return dowhat;
}(Person));
var p = new dowhat("林扬生", 24);
p["do"]();
---
class Person {
    name;
    constructor(name) {
        this.name = name;
    }
    run() {
        console.log(this.name + "在听歌");
    }
}
class dowhat extends Person {
    age;
    constructor(name, age) {
        super(name);
        this.age = age;
    }
    do() {
        super.run();
        console.log(this.name + "在打游戏");
    }
}
var p = new dowhat("林扬生", 24);
p.do();//林扬生在听歌  林扬生在打游戏

你可能感兴趣的:(typescript,typescript,javascript,开发语言)