最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

typescript基本數(shù)據(jù)類型HTMLElement與Element區(qū)別

 更新時(shí)間:2022年11月16日 16:25:50   作者:小白兔學(xué)前端  
這篇文章主要為大家介紹了typescript基本數(shù)據(jù)類型HTMLElement與Element區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

TypeScript是什么?

涉及代碼倉(cāng)庫(kù)

github.com/Dartgm/dart…

  • TypeScript是由微軟開發(fā)的一款開源的編程工具
  • TypeScript是JavaScript的超集,遵循最新的ES5/ES6規(guī)范,TypeScript擴(kuò)展了JavaScript的語(yǔ)法
  • TypeScript更像后端Java,C#這樣的面向?qū)ο蟮恼Z(yǔ)言,也就是說(shuō)可以讓開發(fā)大型企業(yè)使用
  • 越來(lái)越多的項(xiàng)目是基于TS的,比如VSCode、Angular6、Vue3、React16
  • TS提供的類型系統(tǒng)可以幫助我們?cè)趯懘a的時(shí)候獲得更多的語(yǔ)法提示
  • 在創(chuàng)建前的編譯階段經(jīng)過(guò)類型系統(tǒng)的檢查,就可以避免很多的線上的錯(cuò)誤

TypeScript的安裝和編譯

安裝

cnpm i typescript -g

編譯

tsc helloworld.ts

上手實(shí)踐

首先我們新建一個(gè)文件夾,將該文件夾通過(guò)命令行工具打開,并且輸入 code . 來(lái)執(zhí)行命令

然后我們就可以用Vscode這個(gè)軟件來(lái)編輯ts后綴的文件了.輸入tsc --init創(chuàng)建tsconfig文件。如下所示

{
  "compilerOptions": {
    /* Visit https://aka.ms/tsconfig to read more about this file */
    /* Language and Environment */
    "target": "es2016",                                  
    /* Modules */
    "module": "commonjs",                                
    "esModuleInterop": true,                              
    "forceConsistentCasingInFileNames": true,            /* Ensure that casing is correct in imports. */
    /* Type Checking */
    "strict": true,                                      /* Enable all strict type-checking options. */
    "skipLibCheck": true                                 /* Skip type checking all .d.ts files. */
  }
}
名稱描述
target將es編譯成特定的es版本
module指定模塊默認(rèn)的生成規(guī)范,默認(rèn)的就是commonjs
// Basic DataStruct introduction
let married:boolean = true;
let age:number = 10;
let first_name:string = 'guoming';
let arr1:number[] = [1,2,3];
let arr2:Array<number> = [4,5,6]
// tuple, number and type are know to us
let guoming:[string,number] = ['guoming',10];
// enum type
enum Gender {
    GIRL,
    BOY
}
// basic enum
console.log(Gender.BOY)
console.log(Gender.GIRL)
// const enum
const enum Colors{
    RED,YELLOW,BLUE
}
let myColor = [Colors.RED,Colors.YELLOW,Colors.BLUE]
// any type,if there is an variable declared to be any,these variable is the same like the variable in JavaScript
let root:any = document.getElementById('root')
root.style.color = 'red'
let element: (HTMLElement|null) = document.getElementById('root');
element.style.color = 'green';
// null undefined
let x:number;
x=1;
x=undefined;
x=null;
let y:(number|null|undefined)
y=1;
y=null;
y=undefined;

typescript中HTMLElement 和 Element的區(qū)別

你可能會(huì)注意到在ts中,通過(guò)document.getElementById()返回HTMLElement類型,而document.querySelect()返回Element類型。

那么兩者區(qū)別是什么呢?

Element 是一個(gè)通用性非常強(qiáng)的基類,所有 Document 對(duì)象下的對(duì)象都繼承自它。這個(gè)接口描述了所有相同種類的元素所普遍具有的方法和屬性。一些接口繼承自 Element 并且增加了一些額外功能的接口描述了具體的行為。

例如, HTMLElement 接口是所有 HTML 元素的基本接口,而 SVGElement 接口是所有 SVG 元素的基礎(chǔ)。大多數(shù)功能是在這個(gè)類的更深層級(jí)(hierarchy)的接口中被進(jìn)一步制定的。

探討

查資料的過(guò)程中我發(fā)現(xiàn),關(guān)于getElementById和querySelecter在MDN和ts的規(guī)范并不相同。

  • ts中
let res =document.getElementById('test');  //HTMLElement
let el = document.querySelector('# test');  // Element
  • mdn中

querySelector,getElementById兩者均返回Element。

以上就是typescript基本數(shù)據(jù)類型HTMLElement與Element區(qū)別的詳細(xì)內(nèi)容,更多關(guān)于TS類型HTMLElement Element的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • javascript數(shù)組的定義及操作實(shí)例

    javascript數(shù)組的定義及操作實(shí)例

    在文章里小編給大家整理的是關(guān)于javascript數(shù)組的定義及操作的相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-11-11
  • JS關(guān)于?replace?取值、替換第幾個(gè)匹配項(xiàng)問(wèn)題小結(jié)

    JS關(guān)于?replace?取值、替換第幾個(gè)匹配項(xiàng)問(wèn)題小結(jié)

    這篇文章主要介紹了JS關(guān)于replace取值、替換第幾個(gè)匹配項(xiàng),本文針對(duì)字符串的替換、截取知識(shí)點(diǎn)做詳細(xì)介紹,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • js加減乘除精度丟失問(wèn)題解決

    js加減乘除精度丟失問(wèn)題解決

    計(jì)算機(jī)的二進(jìn)制實(shí)現(xiàn)和位數(shù)限制有些數(shù)無(wú)法有限表示,就會(huì)產(chǎn)生精度丟失問(wèn)題,本文主要介紹了js加減乘除精度丟失問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • viewer.js一個(gè)強(qiáng)大的基于jQuery的圖像查看插件(支持旋轉(zhuǎn)、縮放)

    viewer.js一個(gè)強(qiáng)大的基于jQuery的圖像查看插件(支持旋轉(zhuǎn)、縮放)

    這篇文章主要介紹了Viewer這一款強(qiáng)大的 jQuery 圖像瀏覽插件,在信息詳情頁(yè)面實(shí)現(xiàn)點(diǎn)擊圖片可以預(yù)覽,腳本之家也是用的這個(gè)js,這里為分享一下使用方法,需要的朋友可以參考下
    2020-04-04
  • 由?JavaScript?的?with?引發(fā)的探索

    由?JavaScript?的?with?引發(fā)的探索

    這篇文章主要介紹了由?JavaScript?的?with?引發(fā)的探索,js?的?with?是為對(duì)象訪問(wèn)提供命名空間式的訪問(wèn)方式,with?創(chuàng)建一個(gè)對(duì)象的命名空間,在這個(gè)命名空間內(nèi)你可以直接訪問(wèn)對(duì)象的屬性,而不需要通過(guò)對(duì)象來(lái)訪問(wèn),下面一起來(lái)了解更多詳細(xì)內(nèi)容吧
    2022-01-01
  • js判斷選擇的時(shí)間是否大于今天的代碼

    js判斷選擇的時(shí)間是否大于今天的代碼

    判斷選擇的時(shí)間是否大于今天還是蠻實(shí)用的,下面與大家分享下具體的實(shí)現(xiàn),感興趣的朋友可以參考下
    2013-08-08
  • JS和JQ的event對(duì)象區(qū)別分析

    JS和JQ的event對(duì)象區(qū)別分析

    js和jq的event對(duì)象大同小異,本文簡(jiǎn)單對(duì)比下它們的'click'事件下的不同和應(yīng)用,給有需要的小伙伴參考下
    2014-11-11
  • webpack源碼中一些精妙的方法總結(jié)

    webpack源碼中一些精妙的方法總結(jié)

    正好最近在學(xué)習(xí)webpack的源碼,所以下面這篇文章主要給大家介紹了關(guān)于webpack源碼中一些精妙的方法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • 設(shè)為首頁(yè)加入收藏兼容360/火狐/谷歌/IE等主流瀏覽器的代碼

    設(shè)為首頁(yè)加入收藏兼容360/火狐/谷歌/IE等主流瀏覽器的代碼

    不用找了我試過(guò)好多次ie、火狐、谷歌瀏覽器此代碼都是不可逆兼容,想把這個(gè)問(wèn)題完全解決,方法就是像其他主流網(wǎng)站一樣,下面是我的簡(jiǎn)單解決方案
    2013-03-03
  • js實(shí)現(xiàn)上傳按鈕并顯示縮略圖小輪子

    js實(shí)現(xiàn)上傳按鈕并顯示縮略圖小輪子

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)上傳按鈕并顯示縮略圖小輪子,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05

最新評(píng)論

瑞丽市| 金阳县| 华安县| 宜川县| 温州市| 濮阳县| 新干县| 兴山县| 孟州市| 莱芜市| 饶河县| 北宁市| 靖安县| 眉山市| 阳春市| 临江市| 基隆市| 永胜县| 荆门市| 金秀| 卓尼县| 平利县| 青州市| 屯门区| 怀化市| 白沙| 闽清县| 通辽市| 宿州市| 徐水县| 寿宁县| 扶绥县| 平安县| 巴林左旗| 罗江县| 贡山| 五大连池市| 濮阳市| 壤塘县| 都江堰市| 灌阳县|