国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

wix建設(shè)網(wǎng)站鏈接交換平臺(tái)

wix建設(shè)網(wǎng)站,鏈接交換平臺(tái),房地產(chǎn)平面設(shè)計(jì)主要做什么,墻紙 html 網(wǎng)站模板文章目錄編譯環(huán)境基本類型函數(shù)類型函數(shù)重載聯(lián)合類型和函數(shù)重載編譯環(huán)境 TypeScript最終會(huì)被編譯成JavaScript來運(yùn)行,所以我們需要搭建對(duì)應(yīng)的環(huán)境。 首先我們要全局安裝typescript # 安裝命令 npm install typescript -g # 查看版本 tsc --version?? 方式一&…

文章目錄

    • 編譯環(huán)境
    • 基本類型
    • 函數(shù)類型
      • 函數(shù)重載
      • 聯(lián)合類型和函數(shù)重載

編譯環(huán)境

TypeScript最終會(huì)被編譯成JavaScript來運(yùn)行,所以我們需要搭建對(duì)應(yīng)的環(huán)境。
首先我們要全局安裝typescript

# 安裝命令
npm install typescript -g
# 查看版本
tsc --version

在這里插入圖片描述
?? 方式一:通過webpack,配置本地的TypeScript編譯環(huán)境和開啟一個(gè)本地服務(wù),可以直接運(yùn)行在瀏覽器上

  1. 安裝webpack相關(guān)的依賴

使用webpack開發(fā)和打開,需要依賴webpack、webpack-cli、webpack-dev-server

npm install webpack webpack-cli webpack-dev-server -D
  1. 在package.json中添加啟動(dòng)命令

為了方便啟動(dòng)webpack,我們?cè)趐ackage.json中添加如下啟動(dòng)命令

"scripts": {"test": "echo \"Error: no test specified\" && exit 1","serve": "cross-env NODE_ENV=development webpack-dev-server --mode=development --config build/webpack.config.js"
},
  1. 添加webpack的其他相關(guān)依賴

依賴一:cross-env

這里我們用到一個(gè)插件 “cross-env” ,這個(gè)插件的作用是可以在webpack.config.js中通過 process.env.NODE_ENV 來獲取當(dāng)前是開發(fā)還是生產(chǎn)環(huán)境,我們需要這個(gè)插件:

npm install cross-env -D

依賴二:ts-loader

因?yàn)槲覀冃枰馕?ts文件,所以需要依賴對(duì)應(yīng)的loader:ts-loader

npm install ts-loader -D

依賴三:html-webpack-plugin

編譯后的代碼需要對(duì)應(yīng)的html模塊作為它的運(yùn)行環(huán)境,所以我們需要使用html-webpack-plugin來將它插入到對(duì)應(yīng)的模板中:

npm install html-webpack-plugin -D
  1. 配置webpack.config.js文件
const HtmlWebpackPlugin = require("html-webpack-plugin");module.exports = {entry: "./src/main.ts",output: {filename: "build.js",},resolve: {extensions: [".tsx", ".ts", ".js"],},module: {rules: [{test: /\.tsx?$/,use: "ts-loader",exclude: /node_modules/,},],},devtool: process.env.NODE_ENV === "production" ? false : "inline-source-map",devServer: {static: "./dist",// stats: "errors-only",compress: false,host: "localhost",port: 8080,},plugins: [new HtmlWebpackPlugin({template: "./index.html",}),],
};

下面我們就可以愉快的在main.ts中編寫代碼,之后只需要啟動(dòng)服務(wù)即可:

在終端中啟動(dòng)服務(wù):npm run serve

方式一: 參考文章:

TypeScript(二)使用Webpack搭建環(huán)境

?? 方式二:通過ts-node庫,為TypeScript的運(yùn)行提供執(zhí)行環(huán)境

  1. 安裝ts-node
npm install ts-node -g
  1. 另外ts-node需要依賴tslib@types/node 兩個(gè)包:
npm install tslib @types/node -g
  1. 現(xiàn)在,我們可以直接通過ts-node來運(yùn)行TypeScript的代碼
ts-node math.ts

在這里插入圖片描述

在這里插入圖片描述

基本類型

// number類型
let num: number = 100;
// string類型
let msg: string = "abc"; // 一般這種可以不寫類型注解
// boolean類型
let flag: boolean = true;
// null undefined
let n: null = null;
let u: undefined = undefined;// Array類型
let arr1: string[] = ["abc", "123"];
let arr2: Array<string> = ["aaaa", "ccc"];// Object類型
let obj: {name: string;age: number;
} = {name: "zhangsan",age: 18,
};
console.log(obj.age);// Symbol類型
const s1: symbol = Symbol("title");
const s2: symbol = Symbol("title");const person = {[s1]: "程序員",[s2]: "老師",
};
// any
let a: any = "why";
a = 123;let flag = true;
function foo(): string {return "foo";
}
function bar(): number {return 123;
}
// unknow
let result: unknown;
if (flag) {result = foo();
} else {result = bar();
}// void
function sum(num1: number, num2: number): void {console.log(num1 + num2);
}
// never類型 永遠(yuǎn)不會(huì)發(fā)生值的類型
// tuple
const tInfo: [string, number, number] = ["abc", 18, 22];export {};

函數(shù)類型

// 函數(shù)的參數(shù)類型注解
function greet(name: string) {console.log("hello" + name.toUpperCase());
}console.log(greet("world"));// 函數(shù)的返回值類型
function sum(num1: number, num2: number): number {return num1 + num2;
}const names = ["abc", "cba", "nba"];
// 并未指定item的類型 但是item是string類型
names.forEach((item) => {console.log(item.toUpperCase());
});// 函數(shù)接收的參數(shù)是一個(gè)對(duì)象 z?可選類型
function printCoordinate(point: { x: number; y: number; z?: number }) {console.log("x坐標(biāo)", point.x);console.log("y坐標(biāo)", point.y);
}
printCoordinate({ x: 10, y: 30 });// 聯(lián)合類型
type ID = number | string;
// function printId(id: number | string) {
function printId(id: ID) {console.log("你的id是:", id);
}
printId(10);
printId("abc");// 類型斷言
const myEl = document.getElementById("my-img") as HTMLElement;
// const myEl = document.getElementById("my-img") as HTMLImageElement;// 非空類型斷言! 確定某個(gè)標(biāo)識(shí)符是有值的
function printMsg(message?: string) {console.log(message!.toUpperCase());
}// ??和!!的作用
// 將一個(gè)其他類型轉(zhuǎn)換成 boolean類型
// ?? 邏輯操作符 左側(cè)是null或者undefined時(shí), 返回其右側(cè)操作數(shù)

函數(shù)重載

// 函數(shù)重載
// 如果編寫了一個(gè)add函數(shù),希望可以對(duì)字符串和數(shù)字類型進(jìn)行相加
// 應(yīng)該如何編寫?
// 以下是錯(cuò)誤方式:
// function sum(a1: number | string, a2: number | string): number | string {
//   return a1 + a2;
// }// 正確方式:
function sum(a1: number, a2: number): number;
function sum(a1: string, a2: string): string;
function sum(a1: any, a2: any): any {return a1 + a2;
}
console.log(sum(10, 20));
console.log(sum("aa", "bb"));export {};

聯(lián)合類型和函數(shù)重載

// 聯(lián)合類型和重載
// 需求:定義一個(gè)函數(shù),可以傳入字符串或者數(shù)組,獲取它們的長度
// 1. 聯(lián)合類型
function getLength(a: string | any[]) {return a.length;
}
// 2. 函數(shù)重載
function getLength(a: string): number;
function getLength(a: any[]): number;
function getLength(a: any) {return a.length;
}
http://aloenet.com.cn/news/28800.html

相關(guān)文章:

  • 淘寶客做網(wǎng)站教程網(wǎng)站注冊(cè)信息查詢
  • 建設(shè)網(wǎng)站的方案抖音競(jìng)價(jià)推廣怎么做
  • 兼職做ps網(wǎng)站百度網(wǎng)盤搜索引擎網(wǎng)站
  • wordpress 所有鉤子商丘seo公司
  • 大型的網(wǎng)站開發(fā)crm系統(tǒng)網(wǎng)站
  • 免費(fèi)網(wǎng)站制作效果百度一下你就知道123
  • 邯鄲做移動(dòng)網(wǎng)站費(fèi)用seo專業(yè)論壇
  • 網(wǎng)站網(wǎng)速慢刷百度關(guān)鍵詞排名
  • 瑞安做網(wǎng)站建設(shè)湖南網(wǎng)站建設(shè)seo
  • 桐鄉(xiāng)做網(wǎng)站正規(guī)seo大概多少錢
  • 網(wǎng)站不兼容怎么辦鄭州seo博客
  • 網(wǎng)站內(nèi)容全屏截屏怎么做網(wǎng)站做seo教程
  • 自己站網(wǎng)站如何進(jìn)行搜索引擎優(yōu)化
  • 查法人信息的網(wǎng)站培訓(xùn)計(jì)劃和培訓(xùn)內(nèi)容
  • 建網(wǎng)站要花錢嗎seo如何建立優(yōu)化網(wǎng)站
  • 上海網(wǎng)站建設(shè)定制公司谷歌推廣代理公司
  • 用wordpress怎么做網(wǎng)站免費(fèi)s站推廣網(wǎng)站
  • 濰坊網(wǎng)站建設(shè)客服代寫文章質(zhì)量高的平臺(tái)
  • 電子商務(wù)網(wǎng)站開發(fā)是什么官方正版清理優(yōu)化工具
  • cnzz網(wǎng)站建設(shè)廣州seo好找工作嗎
  • 廣州家居網(wǎng)站設(shè)計(jì)nba最新交易匯總
  • 大學(xué)生想做網(wǎng)站西安seo優(yōu)化推廣
  • 青島網(wǎng)站建設(shè)小公司seo綜合查詢工具
  • 網(wǎng)站是否必須做可信網(wǎng)站認(rèn)證seo自動(dòng)優(yōu)化軟件下載
  • 訂房網(wǎng)站開發(fā)長春網(wǎng)站建設(shè)推廣
  • 網(wǎng)站開發(fā)驗(yàn)收單8大營銷工具指的是哪些
  • 怎么做提卡密網(wǎng)站域名解析網(wǎng)站
  • 專注做一家男人最愛的網(wǎng)站廣州seo運(yùn)營
  • 全網(wǎng)搜索石家莊seo全網(wǎng)營銷
  • 東莞網(wǎng)絡(luò)展示平臺(tái)東莞seo外包