TypeScript學(xué)習(xí)筆記

枚舉

enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];

console.log(colorName);  // 顯示'Green'因?yàn)樯厦娲a里它的值是2

編譯后

var Color;
(function (Color) {
    Color[Color["Red"] = 1] = "Red";
    Color[Color["Green"] = 2] = "Green";
    Color[Color["Blue"] = 3] = "Blue";
})(Color || (Color = {}));
var colorName = Color[2];
console.log(colorName);

此時(shí)Color對(duì)象內(nèi)部結(jié)構(gòu)為


image.png

所以Color[2]打印的結(jié)果會(huì)為Green

ps:解釋賦值原理

var a
console.log(a="abc") //打印的結(jié)果為abc
//所以
Color[Color["Red"] = 1] = "Red";
//Color["Red"] = 1賦值完成后會(huì)演變成
Color[1] = "Red";
//所以最終枚舉對(duì)象的結(jié)構(gòu)才會(huì)如上圖所示

private 和 protected 的共同的點(diǎn)以及不同點(diǎn)

共同點(diǎn):
class Person {
    protected name: string;
    constructor(name: string) { this.name = name; }
}
let van= new Person("Van")
console.log(van.name)
//這時(shí)候編譯會(huì)發(fā)生錯(cuò)誤
class Animal{
    private name: string;
    constructor(name: string) { this.name = name; }
}
let dolphin= new Animal("Dolphin")
console.log(dolphin.name)
//這時(shí)也會(huì)出現(xiàn)編譯錯(cuò)誤的問(wèn)題
//證明:不管是protected 或是 private 描述的成員都不可以在類外進(jìn)行調(diào)用
不同點(diǎn):
class Person {
    protected name: string;
    constructor(name: string) { this.name = name; }
}

class Employee extends Person {
    private department: string;

    constructor(name: string, department: string) {
        super(name)
        this.department = department;
    }

    public getElevatorPitch() {
        return `Hello, my name is ${this.name} and I work in ${this.department}.`;
    }
}

let howard = new Employee("Howard", "Sales");
console.log(howard.getElevatorPitch());
//此時(shí)將ts文件編譯,不會(huì)有任何問(wèn)題

如果將父類(超類)的name屬性前置修飾符從protected 修改成 private 如:

class Person {
    private name: string;
    constructor(name: string) { this.name = name; }
}

class Employee extends Person {
    private department: string;

    constructor(name: string, department: string) {
        super(name)
        this.department = department;
    }

    public getElevatorPitch() {
        return `Hello, my name is ${this.name} and I work in ${this.department}.`;
    }
}

let howard = new Employee("Howard", "Sales");
console.log(howard.getElevatorPitch());
//那么這時(shí)候編譯該ts文件就會(huì)報(bào)錯(cuò)
//結(jié)論:如果父類(超類)的成員修飾符為protected 那么該成員可以在子類中被調(diào)用(如:子類中的getElevatorPitch方法)
//而如果父類(超類)的成員修飾符為private 那么該成員將不可以在子類中被調(diào)用
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子积仗,更是在濱河造成了極大的恐慌,老刑警劉巖侯嘀,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡拔第,警方通過(guò)查閱死者的電腦和手機(jī)点寥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門艾疟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人敢辩,你說(shuō)我怎么就攤上這事蔽莱。” “怎么了戚长?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵盗冷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我同廉,道長(zhǎng)仪糖,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任迫肖,我火速辦了婚禮锅劝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咒程。我一直安慰自己鸠天,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布帐姻。 她就那樣靜靜地躺著稠集,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饥瓷。 梳的紋絲不亂的頭發(fā)上剥纷,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音呢铆,去河邊找鬼晦鞋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛棺克,可吹牛的內(nèi)容都是我干的悠垛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼娜谊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼确买!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起纱皆,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤湾趾,失蹤者是張志新(化名)和其女友劉穎芭商,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體搀缠,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铛楣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了艺普。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片簸州。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖衷敌,靈堂內(nèi)的尸體忽然破棺而出勿侯,到底是詐尸還是另有隱情,我是刑警寧澤缴罗,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布助琐,位于F島的核電站,受9級(jí)特大地震影響面氓,放射性物質(zhì)發(fā)生泄漏兵钮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一舌界、第九天 我趴在偏房一處隱蔽的房頂上張望掘譬。 院中可真熱鬧,春花似錦呻拌、人聲如沸葱轩。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)靴拱。三九已至,卻和暖如春猾普,著一層夾襖步出監(jiān)牢的瞬間袜炕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工初家, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留偎窘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓溜在,卻偏偏與公主長(zhǎng)得像陌知,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掖肋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 TypeScript 是 JavaScript 的一個(gè)超集仆葡,主要提供了 類型系統(tǒng) 和對(duì) ES6 的支持,由 ...
    MrWelson閱讀 15,886評(píng)論 3 21
  • 重點(diǎn): 解構(gòu)與指示類型有時(shí)很像 關(guān)于類的部分 有些時(shí)候會(huì)有語(yǔ)法錯(cuò)誤培遵,比如不能這樣或那樣調(diào)用浙芙。這其實(shí)都是ts的語(yǔ)法要...
    苦苦修行閱讀 287評(píng)論 0 0
  • 一、數(shù)據(jù)類型 ts的數(shù)據(jù)類型幾乎與js一致 提供了數(shù)字(number)籽腕、字符串(string)嗡呼、結(jié)構(gòu)體(Objec...
    中華田園雞閱讀 364評(píng)論 0 0
  • 基礎(chǔ)類型 布爾值,boolean 數(shù)字皇耗,number 字符串南窗,string 數(shù)組,number[]和Array<n...
    ChrisChanSysu閱讀 390評(píng)論 0 0
  • 安裝: npm install -g typescript 運(yùn)行: tsc helloworld.ts -----...
    5550d794ea4f閱讀 603評(píng)論 0 0