成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

TypeScript入坑

chuyao / 670人閱讀

摘要:入坑安裝使用安裝使用全局方式安裝編輯器安裝插件編譯使用進(jìn)行編譯編寫文件編譯上方為編譯好的文件類型注解將其注解為類型將其注解為類型變量聲明由于沒有塊級(jí)作用域,使用會(huì)出現(xiàn)以下問題仍然可以訪問為,由于的變量作用注冊(cè)在作用域鏈上造成的結(jié)果,解決方

TypeScript 入坑

安裝

使用npm安裝
使用全局方式安裝

npm install -g typescript
編輯器

安裝插件 https://github.com/Microsoft/...
https://packagecontrol.io/pac...
編譯使用node.js進(jìn)行編譯

hello world

編寫ts文件

function greeter(person) {
    return "Hello world!" + person;
}
let user = "hello world";

document.body.innerHTML = greeter(user);

編譯

PS C:UsersmingmDesktop	s> tsc greeter.ts
Active code page: 65001
PS C:UsersmingmDesktop	s>

上方為編譯好的js文件

function greeter(person) {
    return "Hello world!" + person;
}
var user = "hello world";
document.body.innerHTML = greeter(user);
類型注解
function greeter(person: string){    // 將其注解為string類型
    return "hello," + person;
}

let user = [0, 1, 2];
document.body.innerHTML = greeter(user);

將其注解為string類型

變量聲明

由于js沒有塊級(jí)作用域,使用var會(huì)出現(xiàn)以下問題

for(var i = 1: i <= 10; i++) {
}
console.log(i);

仍然可以訪問i為10,由于js的變量作用注冊(cè)在作用域鏈上造成的結(jié)果,解決方案,使用閉包

let

let屬于塊級(jí)作用域

const

賦值以后不能再改變

解構(gòu)賦值
let input = [1,2];
let input1 = [2,3];
// 解構(gòu)賦值
[input[0], input[2]] = [2,3]
// 同樣的也可以創(chuàng)建剩余變量
let[first,...rest] = [1,2,3,4,5];
// first 為 1, rest 為[2,3,4,5]
聯(lián)合類型
let myFavoriteNumber: string | number
myFavoriteNumber = "seven";
myFavoriteNumber = 7;
var myFavoriteNumber;
myFavoriteNumber = "seven";
myFavoriteNumber = 7;
訪問聯(lián)合類型的屬性和方法
只能訪問共有的屬性和方法
function getString(something:string | number):string {
    return something.toString();
}
function getString(something) {
    return something.toString();
}
接口

對(duì)類的一部分行為進(jìn)行抽象(即方法)抽象出接口。

防盜門和車都有報(bào)警這個(gè)方法,將報(bào)警這個(gè)方法抽象出來,成為這兩個(gè)的接口

接口建議名稱前加上I

// 定義一個(gè)接口,接口的類型名稱為person
interface Iperson{
    name: string;
    age: number;
}

// 使用接口
function greeter(person: Iperson):string {
    return "hello world" + person.name + person.age;
}

// 傳入對(duì)象
let user = { name: "hello world", age: 23 };
// 調(diào)用
document.body.innerHTML = greeter(user);
// 使用接口
function greeter(person) {
    return "hello world" + person.name + person.age;
}
// 傳入對(duì)象
var user = { name: "hello world", age: 23 };
// 調(diào)用
document.body.innerHTML = greeter(user);
可選屬性
// 定義一個(gè)接口,接口的類型名稱為person
interface Iperson{
    name: string;
    age?: number;
}

// 使用接口
function greeter(person: Iperson):string {
    return "hello world" + person.name + person.age;
}

// 傳入對(duì)象
let user = { name: "hello world"};
// 調(diào)用
document.body.innerHTML = greeter(user);

// 使用接口
function greeter(person) {
    return "hello world" + person.name + person.age;
}
// 傳入對(duì)象
var user = { name: "hello world" };
// 調(diào)用
document.body.innerHTML = greeter(user);
接口傳入任意值
// 定義一個(gè)接口,接口的類型名稱為person
interface Iperson{
    name: string;
    age?: number;
    [propName: string]: any;    // 任意數(shù)據(jù)取string類型的值
}

// 使用接口
function greeter(person: Iperson):string {
    return "hello world" + person.name + person.age + person.ming;
}

// 傳入對(duì)象
let user = { name: "hello world", ming:"hello world"};
// 調(diào)用
document.body.innerHTML = greeter(user);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98474.html

相關(guān)文章

  • 入坑codewars

    摘要:,黑色的主題風(fēng)格,很符合。時(shí)間復(fù)雜度雖然成功,但我明顯感覺代碼寫得不是很優(yōu)雅。這個(gè)是沒錯(cuò)的,但缺乏了宏觀的視角,會(huì)變得片面。但是不重要,關(guān)鍵是這個(gè)思想要學(xué)習(xí),可以應(yīng)用到其他地方。求和,大于就返回偶數(shù)的位置,否則返回奇數(shù)的位置。 前幾天做LeetCode上的大數(shù)乘法,代碼沒錯(cuò),可就是提交不成功,顯示SyntaxError: Unexpected token var我把所有代碼都注釋掉,只...

    sherlock221 評(píng)論0 收藏0
  • Ionic2入坑基礎(chǔ)教程和安裝指南

    摘要:安裝程序主要通過命令行工具來創(chuàng)建和開發(fā),并使用來構(gòu)建和部署為原生應(yīng)用程序。基礎(chǔ)教程確保完成之前的安裝并測(cè)試啟動(dòng)成功。 安裝Ionic Ionic 2 程序主要通過Ionic命令行工具CLI來創(chuàng)建和開發(fā),并使用Cordova來構(gòu)建和部署為原生應(yīng)用程序。也就是說我們需要先安裝一些工具來實(shí)現(xiàn)程序開發(fā)。 安裝Ionic CLI 和 Cordova 要?jiǎng)?chuàng)建 Ionic 2 項(xiàng)目,你需要安裝最新版...

    jayce 評(píng)論0 收藏0
  • 兩年React老兵的總結(jié) - 類型檢查篇

    摘要:系列引言最近準(zhǔn)備培訓(xùn)新人為了方便新人較快入手開發(fā)并編寫高質(zhì)量的組件代碼我根據(jù)自己的實(shí)踐經(jīng)驗(yàn)對(duì)組件設(shè)計(jì)的相關(guān)實(shí)踐和規(guī)范整理了一些文檔將部分章節(jié)分享了出來由于經(jīng)驗(yàn)有限文章可能會(huì)有某些錯(cuò)誤希望大家指出互相交流由于篇幅太長(zhǎng)所以拆分為幾篇文章主要有以 系列引言 最近準(zhǔn)備培訓(xùn)新人, 為了方便新人較快入手 React 開發(fā)并編寫高質(zhì)量的組件代碼, 我根據(jù)自己的實(shí)踐經(jīng)驗(yàn)對(duì)React 組件設(shè)計(jì)的相關(guān)實(shí)踐...

    scola666 評(píng)論0 收藏0
  • 2017個(gè)人總結(jié)

    摘要:特此寫個(gè)流水賬總結(jié),供自己以后羞恥的回顧。正逢月計(jì)劃辭職回家玩游戲過個(gè)暑假,結(jié)果在如今部門老大的忽悠下加入到了新東家。和組長(zhǎng)兩人繼續(xù)沒晝夜的忙活,最終也按時(shí)交差,上了線。卷土重來,回報(bào)過去的一份念舊,期待的美好,個(gè)人選型入坑。 前言 2017年發(fā)生了太多的事情,結(jié)了婚,住進(jìn)了新家,成功的播了種,當(dāng)上了準(zhǔn)爸爸。公司也蒸蒸日上搬進(jìn)了高大上的寫字樓。前端的坑越來越大,都來不及填。特此寫個(gè)流水...

    Jason 評(píng)論0 收藏0
  • 前端小報(bào) - 201903月刊

    摘要:熱門文章我在淘寶做前端的這三年紅了櫻桃,綠了芭蕉。文章將在淘寶的三年時(shí)光折射為入職職業(yè)規(guī)劃招聘晉升離職等與我們息息相關(guān)的經(jīng)驗(yàn)分享,值得品讀。 showImg(https://segmentfault.com/img/remote/1460000018739018?w=1790&h=886); 【Alibaba-TXD 前端小報(bào)】- 熱門前端技術(shù)快報(bào),聚焦業(yè)界新視界;不知不覺 2019 ...

    李義 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<