第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

TypeScript極速入門

難度初級(jí)
時(shí)長(zhǎng) 2小時(shí)39分
學(xué)習(xí)人數(shù)
綜合評(píng)分10.00
4人評(píng)價(jià) 查看評(píng)價(jià)
10.0 內(nèi)容實(shí)用
10.0 簡(jiǎn)潔易懂
10.0 邏輯清晰
  • n

    查看全部
  • t

    查看全部
    0 采集 收起 來源:泛型

    2023-12-17

  • interface?User{
    ??name:string
    ??age:number
    }
    
    type?UserType?=?{
    ????name:string
    ??age:number
    }
    
    type?UserType1?=?User;
    
    class?Person?extends?User{
    ????email:string
    }
    查看全部
  • 開始學(xué)習(xí),筆記

    查看全部
  • 111分團(tuán)成不不不

    查看全部
  • 6561bc9d0001ba7207200404.jpg

    查看全部
  • 6561bc710001cb4407200404.jpg

    筆記

    查看全部
  • // 索引類型

    const product = {

    ? ? name: 'Nick',

    ? ? price: 100

    }

    const products = {

    ? ? 1: {

    ? ? ? ? name: 'Nick',

    ? ? ? ? price: 100

    ? ? },

    ? ? 2: {

    ? ? ? ? name: 'adidas',

    ? ? ? ? price: 150

    ? ? }

    }


    interface Product {

    ? ? name: string,

    ? ? price: number

    }


    interface Products {

    ? ? [id: number]: Product

    }


    // 定義對(duì)象時(shí)

    interface Obj {

    ? ? [key: string | number]: string | number | boolean | {} | null | undefined;

    }


    // 映射類型

    // 通過已有類型創(chuàng)建新類型、通過操作符創(chuàng)建新類型

    // keyof

    type Keys = keyof Product; // 'name' | 'price' 以對(duì)象類型的key 的字面量作為新類型。

    type Tp = typeof product; // typeof 后跟的是具體值,不能跟類型。typeof 獲取值的類型后,用來創(chuàng)建新的類型。

    const keys: Keys = 'name';

    const tp: Tp = {

    ? ? name: 'lining',

    ? ? price: 100

    }

    查看全部

  • instanceof 一般是用在class 這種對(duì)象上的,不能用在基本類型上,基本類型使用typeof 。


    // 類型斷言

    const lengthFun = (a: string | number) => {

    ? ? return (a as string).length; // 一般不使用<>做斷言,是因?yàn)闀?huì)和Reat 語法沖突。

    }


    // 類型斷言,不到萬不得已不要用,因?yàn)槭褂脭嘌跃褪チ藅s 自動(dòng)推斷類型和使用類型限制的意義。


    // 類型保護(hù)typeof 和 instanceof

    // typeof

    const lengthFun1 = (a: string | number): number => {

    ? ? if(typeof a === 'string') {

    ? ? ? ? return a.length;

    ? ? }

    ? ? if(typeof a === 'number') {

    ? ? ? ? return a.toString().length;

    ? ? }

    ? ? return 0;

    }


    // instanceof

    class Man {

    ? ? name: string;

    ? ? age: number;

    ? ? constructor(name: string, age: number) {

    ? ? ? ? this.name = name;

    ? ? ? ? this.age = age;

    ? ? }

    }

    class Woman {

    ? ? gender: string;

    ? ? tel: number;

    ? ? constructor(gender: string, tel: number) {

    ? ? ? ? this.gender = gender;

    ? ? ? ? this.tel = tel;

    ? ? }

    }

    const Fun = (a: Man | Woman): (string | number) => {

    ? ? if(a instanceof Man) {

    ? ? ? ? return a.name;

    ? ? }

    ? ? if(a instanceof Woman) {

    ? ? ? ? return a.tel;

    ? ? }

    ? ? return 666;

    }

    查看全部
  • 1

    查看全部
  • 來了

    查看全部
  • 枚舉類型

    1、數(shù)字枚舉

    enum?numEnum{
    ??Pending,?//?0
    ??Shipped,?//?1
    ??Completed,?//?2
    ??Cancelled,?//?3
    ??Unknown?//?4
    }

    2、字符串枚舉

    enum?strEnum{
    ??Pending?=?'Pending',
    ??Shipped?=?'Shipped',
    ??Completed?=?'Completed',
    ??Cancelled?=?'Cancelled',
    ??Unknown?=?'Unknown'
    }

    3、異構(gòu)枚舉

    //?異構(gòu)枚舉就是枚舉值中成員值既有數(shù)字類型又有字符串類型(但是不能有值是空的)
    //?異構(gòu)?isomerism
    enum?isomerismEnum{
    ??Pending?=?'Pending',
    ??Shipped?=?'Shipped',
    ??Completed?=?2,
    ??Cancelled?=?'Cancelled',
    ??Unknown?=?'Unknown'
    }

    4、常量枚舉

    //?常量枚舉,就是在定義枚舉的語句之前加上const?關(guān)鍵字,這樣編譯后的代碼不會(huì)創(chuàng)建這個(gè)對(duì)象,只是會(huì)從枚舉里拿到相應(yīng)的值進(jìn)行替換
    enum?Status?{
    ??Off,
    ??On
    }
    const?enum?Animal?{
    ??Dog,
    ??Cat
    }
    const?status?=?Status.On;
    const?animal?=?Animal.Dog;

    上面的代碼編譯成 JavaScript 之后是這樣的:

    var?Status;
    (function(Status)?{
    ??Status[(Status["Off"]?=?0)]?=?"Off";
    ??Status[(Status["On"]?=?1)]?=?"On";
    })(Status?||?(Status?=?{}));
    var?status?=?Status.On;
    var?animal?=?0;?//?Dog

    注意,枚舉值是只讀的,不能夠修改。

    二、表驅(qū)動(dòng)

    表驅(qū)動(dòng),就是為了去除if...else.. 和switch 這種語法的。

    查看全部
  • TS 變量聲明格式:變量名 + 類型注解。

    當(dāng)變量賦值與聲明類型不一致的時(shí)候,TS 會(huì)提醒類型校驗(yàn)不一致。

    const?aNum:?number?=?123;?//?數(shù)字類型
    const?aStr:?string?=?'Hello?ts';?//?字符串類型
    const?aBool:?bool?=?true;?//?布爾類型
    const?aNull:null?=?null;?//?null?類型,值只能是null
    const?aUndefined:?undefined?=?undefined;?//?undefined?類型,值只能是undefined
    const?aSymbol:?symbol?=?Symbol();?//?symbol?類型,表示獨(dú)一無二,每次聲明的數(shù)據(jù)都是不同的
    const?bSymbol:?symbol?=?Symbol();?//?用作私有屬性、解決命名沖突問題
    console.log(aSymbol?===?bSymbol);?//?輸出?false
    console.log(Number.MAX_VALUE);?//?JS?支持的最大數(shù)值:Number.MAX_VALUE
    const?aBigint:bigint?=?123456789123456789n;?//?處理比JS支持最大的數(shù)還大的數(shù)值
    const?bBigint:?bigint?=?Bigint(123456789123456789);?//?兩種定義Bigint?變量的方法
    const?sArr:?string[]?=?['a',?'b',?'c'];?//?字符串?dāng)?shù)組
    const?nArr:?number[]?=?[1,?2,?3];?//?數(shù)字?jǐn)?shù)組
    const?bsArr:?Array<string>?=?['a',?'b',?'c'];?//?包裝類型
    const?bnArr:?Array<number>?=?[1,?2,?3];?//?包裝類型
    const?lhArr:?Array<number?|?string>?=?[1,?2,?3,?'4'];?//?聯(lián)合類型
    const?aTuple:?[string,?number]?=?['a',?1];?//?tuple?元組類型,是特殊的數(shù)組,顯式的定義數(shù)組每一項(xiàng)元素類型和元素?cái)?shù)量上限,并且一一對(duì)應(yīng)。
    aTuple.push(8);?//?元組可以添加元素,但是不能讀
    aTuple[2];?//?會(huì)提醒?Tuple?type?'[string,?number]'?of?length?'2'?has?no?element?at?index?'2'
    const?bTuple:?[string,?number,?number]?=?['abc',?1,?8];?//?tuple?元組新增元素,要一一對(duì)應(yīng)
    
    //?函數(shù)定義,一般兩種類型:箭頭函數(shù)、function
    //?一、箭頭函數(shù)
    const?aFun?=?()?=>?false;?
    //?函數(shù)類型定義
    const?aFun:?()?=>?boolean?=?()?=>?false;?//?`()?=>?boolean`?就是定義的函數(shù)類型
    //?如果有參數(shù)
    const?aFun:?(params:?string)?=>?boolean?=?()?=>?false;?//?`(params:?string)?=>?boolean`?就是定義的函數(shù)類型
    //?二、普通function?函數(shù)
    function?bFun()?{
    ????return?true;
    }?
    //?函數(shù)類型定義
    function?bFun(params:?string):?boolean?{
    ????return?true;
    }
    //?推薦使用箭頭函數(shù),方便提取函數(shù)類型定義
    type?Fun?=?(params:?string)?=>?boolean;
    const?cFun:?Fun?=?()?=>?false;
    const?dFun:?Fun?=?()?=>?false;
    type?Fun?=?(params:?string)?=>?void;?//?如果函數(shù)沒有返回值
    
    
    //?對(duì)象,這樣定義比較寬泛
    const?aObj:?object?=?{
    ????a:?1,
    ????b:?2
    }
    //?對(duì)象,類型定義越具體越好,工作中一般如下定義
    const?bObj:?{?a:?string,?b:?string?}?=?{
    ????a:?'hello',
    ????b:?'world'
    }
    //?對(duì)象定義類型也可以提取,用interface
    interface?Obj?{?a:?string,?b:?string?}
    const?cObj:?Obj?=?{?a:?'hi',?b:?'typescript'?}
    
    //?void?類型,沒有任何返回值
    //?注意以下返回值為空的函數(shù)類型定義方式
    const?aVoid?=?():?void?=>?{};
    const?bVoid:?()?=>?void?=?()?=>?{}
    type?Fun?=?(params:?string)?=>?void;
    const?cVoid:?Fun?=?()?=>?{}
    
    //?any?就相當(dāng)于沒有類型定義,和js?一樣了,可以隨便賦值。
    
    //?never?永遠(yuǎn)沒有返回值,一般高級(jí)編程會(huì)用,日常很少
    const?aNever?=?():?never?=>?{
    ????throw?new?Error()
    }
    const?bNever?=?():?never?=>?{
    ????while(true)?{}
    }
    查看全部
  • 在線學(xué)習(xí)Typescript 的網(wǎng)站:

    TS 官方網(wǎng):https://www.typescriptlang.org/??

    導(dǎo)航菜單選擇-> Playground 即可在線開發(fā)學(xué)習(xí)。


    npm 搭建適合TS 開發(fā)環(huán)境:

    1.?npm?init?初始化前端開發(fā)環(huán)境
    2.?npm?i?typescript?-g?全局安裝TS
    3.?tsc?--init?生成初始化TS?配置文件
    4.?package.json?文件,添加?scripts?命令:`"build":?"tsc"`
    5.?tsconfig.json?文件,修改?`"outDir":?"編譯后生成js?的存放位置"`
    查看全部
  • 定義變量的類型,意味著什么?

    以Number 類型為例:

    內(nèi)存大?。?4個(gè)bit 代表一個(gè)Number 類型 ;

    內(nèi)存布局:總共0~64 個(gè)Bit,第63 位表示正負(fù)號(hào)S、52~62 位表示指數(shù)級(jí)E、0~51 位表示真實(shí)的數(shù)字M;

    變量行為:即可操作的方法,如:toFixed。

    弱類型變量,會(huì)根據(jù)代碼情景,自動(dòng)轉(zhuǎn)換變量類型。


    typeof 用于判斷變量類型。

    var?num?=?0;
    console.log(typeof?num);

    TS 強(qiáng)制類型轉(zhuǎn)換:

    let?a:?any?=?1;
    (a?as?string)?=?'2';
    //?注意:強(qiáng)制類型轉(zhuǎn)換使用as?和?括號(hào)()

    JS 和 TS 都有類型系統(tǒng),區(qū)別是:

    JS 是弱類型 + 動(dòng)態(tài)類型語言

    TS 是強(qiáng)類型 + 靜態(tài)類型語言

    查看全部
    0 采集 收起 來源:什么是類型

    2023-11-24

首頁(yè)上一頁(yè)123下一頁(yè)尾頁(yè)

舉報(bào)

0/150
提交
取消
課程須知
掌握前 npm 包的使用,了解 JavaScript 基礎(chǔ),如果有面向?qū)ο箝_發(fā)經(jīng)驗(yàn),學(xué)習(xí)效果更佳
老師告訴你能學(xué)到什么?
你能學(xué)到 Typescript 的基礎(chǔ)概念、寫法,類型的原理,以及在業(yè)務(wù)中真正實(shí)用的高級(jí)類型使用方法,更能通過泛型的學(xué)習(xí),開啟類型編程的大門。

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買該課程,無需重復(fù)購(gòu)買,感謝您對(duì)慕課網(wǎng)的支持!