国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 15個Typescript項目常用語法練習,學會它,90%的場景不害怕!(一)

15個Typescript項目常用語法練習,學會它,90%的場景不害怕!(一)

來源:千鋒教育
發布人:syq
時間: 2022-07-14 16:12:00 1657786320

  1.常用類型

/* 常用類型*/

// 1. string 字符串類型
export const str: string = "helloworld";
str.substr(3);

// 2. number 數字類型
let num: number = 100;
num++;

// 3. boolean 布爾類型
const bool: boolean = true;

// 4. 數組類型
const numArr: number[] = [1, 2, 3];
numArr.map((num) => ++num);

// 5. 對象類型
type User = {
 name: string;
 age: number;
 isAdmin: boolean;
};
const user: User = {
 name: "xiaoming",
 age: 18,
 isAdmin: false
};
const { name, age, isAdmin } = user;

// 6. 函數類型
type Fn = (n: number) => number;
const fn: Fn = (num) => ++num;
fn(1);

Typescript項目常用語法

  2、React 組件 Props

/* React 組件 Props */

interface Props {
 disabled?: boolean;
 style?: React.CSSProperties;
 children?: React.ReactNode;
 onClick?: () => void;
}

const Button = ({ onClick, disabled, children, style }: Props) => {
 return (
   <button onClick={onClick} disabled={disabled} style={style}>
    {children}
   </button>
);
};

export default Button;

  3.聯合類型 Union

/* 聯合類型 Union */

// id 可為字符串或數字類型
export function printId(id: string | number) {
 console.log(id);
}

printId(101); // OK
printId('202'); // OK

  4.類型判斷

/* 類型判斷 */

export function printId(id: string | number) {
 if (typeof id === 'string') {
   console.log(id.toUpperCase());
} else {
   console.log(id);
}
}

printId(101); // OK
printId('202'); // OK

  5.類型斷言

/* 類型斷言 */

export type Position = 'left' | 'right' | 'top' | 'bottom';
const setPos = (pos: Position) => {
 //...
};

const handleChange = (value: string) => {
 setPos(value as Position);
};

handleChange('left');

  6.屬性名不確定的對象

/* 屬性名不確定的對象 */

export type Paths = {
[key: string]: string;
};

// 等同于
// export type Paths = Record<string, string>;

const paths: Paths = {};

paths.home = '/home'; //OK
paths.settings = '/settings'; //OK
paths.somePath = '/somePath'; //OK

  7.對象的 key 值

/* 對象的 key */

export const ErrorMessage = {
 0: "success",
 7: "Permission denied",
 9: "Invalid parameters"
 //...
};

export type ErrorCode = keyof typeof ErrorMessage;

export const logErrMsg = (code: ErrorCode) => {
 console.log(ErrorMessage[code]);
};

  更多關于前端培訓的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT