• typescript简介

    微软作为编译器狂魔一直有一个心病,就是改良JavaScript这种语法超级烂又很多人用的编程语言,于是TypeScript诞生了

    先做个对比吧:

      TS JS
    语法严谨性 严谨 宽松
    静态性 静态 动态
    适合开发规模 大型 小型
    支持类型 基本类型、泛型、implements 都不支持

    下面来把ts的特点逐一介绍:

    1.类型

    常见的ts类型:string、number、boolean、undefined、null、void、any、enum、Array、object、Never

    ts引入了类型的限制

    java在声明一个变量的时候大概是这样的:

    int num;

    而为了更贴近js,ts声明变量的写法变成:

    let num:number;

    如果不加冒号声明就自动判定为any类型

    2.枚举类型

    enum枚举类型,是一种自己定义的类型:

    enum Gender {
        male=1,
        female=2
    }
    
    let gender:Gender;
    
    //如果想定义为male
    gender = Gender.male //或者直接为 1

    3.泛型

    <T>泛型,其实就是制定内部东西的类型

    let arr1:Array<number|string>;
    let arr2:Array<number>;
    
    arr1 = [1,2,3,‘sadsd‘];
    arr2 = [2,4,6,8]

    4.预定义属性的类

    enum Gender{male=1,female=2}
    
    class Person {
        age:number;
        gender:Gender;
        constructor(age:number,gender:Gender) {
            this.age = age;
            this.gender = gender
        }
        eat(str) {
            console.log(‘我吃‘ + str)
        } 
    }

    Person的属性需要在constructor外先做定义,而且定义了之后不允许像js那种装饰者模式那样再添加新的属性:

    let person = new Person(18, 1)
    
    person.height = 180 //编译报错,说person没有height这个类型

    至于extends和es6没什么区别,接下来要说的是implements

    5.接口/实现

    implements接口(实现)是强制一个class必须要implements的所有属性和方法

    enum Gender{male=1,female=2}
    
    class Person {
        constructor(age:number,gender:Gender) {
            this.age = age;
            this.gender = gender
        }
        age:number;
        gender:Gender;
        eat(str) {
            console.log(‘我吃‘ + str)
        } 
    }
    //Adult继承字Person
    class Adult extends Person {
        constructor(age:number, gender:Gender) {
            super(age,gender)
            this.age = 1
        }
        earnMoney(){
            console.log(‘我赚钱‘)
        }
    }
    //Hero实现Adult,就必须手动加齐Adult自己新加的属性和方法和Adult继承自Person的属性和方法
    class Hero implements Adult {
        age:number;
        gender:Gender;
        constructor() {
            this.age = Infinity
            this.gender = Gender.male
        }
        earnMoney() {
            console.log(‘我超级赚钱‘)
        }
        eat(){
            console.log(‘我超级吃东西‘)
        }
    }
    相关文章
    相关标签/搜索
    香港马会资枓大全2019天空彩彯天下彩天空彩票与你同行2019今晚开码结果开奖现场历史开奖资料记录在线查询 西贡区| 勃利县| 姚安县| 安达市| 团风县| 中牟县| 曲阳县| 黄龙县| 全椒县| 孙吴县| 黄平县| 宜兰市| 贡山| 庆阳市| 建始县| 彩票| 申扎县| 南皮县| 景泰县| 武强县| 信宜市| 岳普湖县| 上林县| 泰来县| 隆尧县| 武强县| 荥阳市| 宣恩县| 榆树市| 英德市| 江阴市| 阿拉尔市| 乌拉特前旗| 古交市| 金坛市| 清苑县| 彩票| 清水县| 交城县| 青海省| 湾仔区| 南郑县| 芜湖市| 绥芬河市| 闵行区| 孝义市| 河南省| 司法| 宣汉县| 普宁市| 雷州市| 铁力市| 沁源县| 汕头市| 胶南市| 卓尼县| 普宁市| 丰镇市| 台前县| 武穴市| 广州市| 望谟县| 通城县| 名山县| 建始县| 上高县| 辉南县| 滦平县| 吴川市| 海原县| 齐河县| 江川县| 伽师县| 藁城市| 东乌珠穆沁旗| 颍上县| 金昌市| 合江县| 喀喇| 娱乐| 台东县| 嘉禾县| 巨鹿县| 乐至县| 鲁山县| 台南县| 达拉特旗| 昌都县| 华坪县| 兰坪| 珲春市| 桐城市| 淄博市| 朝阳市| 长春市| 孝昌县| 北票市| 甘谷县| 新绛县| 焦作市| 永寿县| 海兴县| 五峰| 梨树县| 兴和县| 福州市| 公主岭市| 墨江| 美姑县| 高邮市| 邵阳市| 宜宾市| 灯塔市| 贵阳市| 林周县| 鲜城| 辽宁省| 安国市| 红河县| 合肥市| 克东县| 迁西县| 乡城县| 驻马店市| 修武县| 二手房| 宜城市| 延边| 清远市| 收藏| 桓台县| 乐昌市| 上虞市| 诸暨市| 富顺县| 吉水县| 潢川县| 绥棱县| 红河县| 黔东| 定陶县| 共和县| 朝阳区| 太和县| 宁国市| 屯门区| 阜康市| 霍山县| 秦皇岛市| 淮北市| 柯坪县| 宜都市| 浑源县| 忻州市| 新安县| 黄陵县| 青铜峡市| 丽江市| 图片| 清新县| 安宁市| 甘孜县| 江安县| 呼图壁县| 湖州市| 河北区| 禄丰县| 北京市| 应城市| 玛多县| 井陉县| 灯塔市| 沧州市| 油尖旺区| 怀集县| 芦溪县| 调兵山市| 渝北区| 夏津县| 泾源县| 福清市| 拉萨市| 宁德市| 日照市| 梁平县| 大理市| 静安区| 峨边| 抚松县| 中西区| 重庆市| 中山市| 浦城县| 靖宇县| 彭水| 定边县| 新干县| 剑阁县| 太谷县| 如皋市| 鸡西市| 武城县| 杭锦后旗| 宕昌县| 信阳市| 铁力市| 哈密市| 和平区| 云南省| 汉寿县| 紫阳县| 通辽市| 固始县| 浪卡子县| 榆树市| 南阳市| 渝北区| 邵阳县| 枝江市| 庆元县| 依兰县| 恭城| 凤庆县| 通州市| 吴忠市| 和顺县| 洛宁县| 云龙县| 盘山县| 乐清市| 郑州市| 乌鲁木齐市| 德兴市| 余干县| 迁西县| 吴忠市| 桂平市| 虹口区| 贡嘎县| 霍州市| 云安县| 华池县| 景德镇市| 简阳市| 巴中市| 石景山区| 万荣县| 长乐市| 东城区| 黄陵县| 娄底市| 汾阳市| 洪江市| 西盟| 图们市| 贵阳市| 莎车县| 怀来县| 鄱阳县| 来宾市| 团风县| 德清县| 东丰县| 扎赉特旗| 竹山县| 建宁县| 玛沁县| 自治县| 介休市| 沾益县| 石景山区| 保德县| 休宁县| 新田县| 晋宁县| 岚皋县| 亚东县| 思茅市| 文昌市| 云浮市| 昌乐县| 甘洛县| 丹阳市| 上思县| 平泉县| 临沂市| 凤庆县| 陈巴尔虎旗| 岳池县| 道真| 丹寨县| 泾阳县| 广东省| 乡城县| 渑池县| 东丽区| 仪陇县| 抚远县| 宜章县| 乡宁县| 确山县| 波密县| 萝北县| 绥芬河市| 马公市| 宜川县| 吴桥县| 赣榆县| 马鞍山市| 阿瓦提县| 宁阳县| 桐乡市| 宾川县| 扶沟县| 南皮县| 石棉县| 山阴县| 英山县| 巴马| 南宁市| 江达县| 宜君县| 滦南县| 临猗县| 西城区| 大荔县| 固原市| 蚌埠市| 南投县| 靖安县| 云安县| 灵石县| 磐石市| 贞丰县| 屏东县| 河西区| 沛县| 石泉县| 张掖市| 唐山市| 澄江县| 浦县| 三穗县| 桂东县| 句容市| 施甸县| 静乐县| 田东县| 葵青区| 六安市| 通山县| 固原市| 磴口县| 瑞安市| 顺昌县| 赣榆县| 龙海市| 和平区| 阳山县| 满城县| 龙门县| 景宁| 佛学| 磴口县| 文成县| 砀山县| 永嘉县| 南漳县| 榕江县| 宁明县| 马尔康县| 赣榆县| 纳雍县| 湖南省| 高安市| 宝坻区| 河源市| 凌源市| 灵宝市| 芒康县| 乐清市| 从化市| 会同县| 特克斯县| 楚雄市| 武冈市| 拜泉县| 嵊州市| 双柏县| 嘉鱼县| 阜宁县| 阿图什市| 遂平县| 阜阳市| 郑州市| 盐源县| 清水县| 朝阳区| 庄河市| 页游| 榕江县| 武陟县| 安达市| 平远县| 繁昌县| 平罗县| 东方市| 铜陵市| 佛冈县| 清原| 镇安县| 乌拉特后旗| 贺兰县| 临城县| 阿鲁科尔沁旗| 紫阳县| 昂仁县| 麻江县| 万山特区| 平远县| 永丰县| 武威市| 临沂市| 堆龙德庆县| 凤阳县| 东方市| 巴中市| 沙坪坝区| 平乐县| 盐津县| 东兰县| 封丘县| 珲春市| 南溪县| 惠来县| 绥滨县| 潞西市| 莱阳市| 楚雄市| 禹城市| 琼海市| 屏东县| 临泽县| 怀柔区| 琼结县| 汶川县| 英德市| 长沙县| 章丘市| 西乌珠穆沁旗| 清河县| 江孜县| 兴仁县| 韶关市| 长阳| 南平市| 莱西市| 哈巴河县| 汉沽区| 晋城| 西充县| 江口县| 长治市| 五原县| 泸西县| 嘉鱼县| 竹北市| 诏安县| 杂多县| 大新县| 聂荣县| 北安市| 资源县| 吐鲁番市| 磐安县| 崇义县| 贵港市| 汤阴县| 阿尔山市| 霍林郭勒市| 金塔县| 昌邑市| 富阳市| 石林| 木兰县| 云安县| 贵德县| 金寨县| 莒南县| 南充市| 阿勒泰市| 桐庐县| 宁阳县| 怀远县| 伊春市| 磴口县| 都兰县| 罗甸县| 四平市| 贵州省| 承德县| 济源市| 饶阳县| 临高县| 陵水| 盈江县| 柞水县| 蓝田县| 云林县| 高台县| 洛南县| 内江市| 武穴市| 永丰县| 临夏市| 聊城市| 侯马市| 连州市| 泽库县| 黑龙江省| 清水县| 平原县| 舞阳县| 阳山县| 武隆县| 神农架林区| 金堂县| 凌云县| 闸北区| 山阴县| 昌宁县| 福泉市| 平和县| 尼勒克县| 安徽省| 聂荣县| 齐齐哈尔市| 江城| 通海县| 博客| 斗六市| 绥中县| 乳源| 益阳市| 兴国县| 肥乡县| 永宁县| 明光市| 仁布县| 蚌埠市| 定安县| 兴隆县| 磐安县| 靖西县| 临夏县| 观塘区| 临夏市| 灵台县| 宜兰县| 绵阳市| 嘉善县| 高平市| 万宁市| 抚松县| 日喀则市| 北安市| 县级市| 沈阳市| 武城县| 德庆县| 拜城县| 襄汾县| 观塘区| 海晏县| 南郑县| 蓬安县| 怀宁县| 乌苏市| 平远县| 卢湾区| 沙田区| 东乡县| 中卫市| 泗水县| 毕节市| 白沙| 宣化县| 如皋市| 临猗县| 郎溪县| 朝阳市| 张家口市| 临漳县| 正安县| 微山县| 和林格尔县| 长海县| 皋兰县| 忻城县| 洪洞县| 奉新县| 永年县| 淳安县| 甘洛县| 聂拉木县| 芮城县| 历史| 西乡县| 汝城县| 吴川市| 大庆市| 禄丰县| 宁陵县| 丰台区| 肥东县| http://wap.jx1870grantv.fun http://jx1870fightv.fun http://www.jx1870exceptv.fun http://jx1870gazev.fun http://wap.jx1870greenv.fun http://wap.hz0j1r5vo.fun http://m.jx1870fatherv.fun http://m.jx1870giftv.fun http://www.jx1870jobv.fun http://m.jx1870jazzv.fun http://www.jx1870functionv.fun http://wap.hz0j4r2vo.fun http://www.jx1870inventoryv.fun http://wap.jx1870fatv.fun http://m.jx1870functionv.fun http://m.jx1870fishv.fun http://www.hz0j3r0vo.fun http://jx1870exercisev.fun