zoukankan      html  css  js  c++  java
  • Typescript

    Typescript官网:https://www.tslang.cn/docs/handbook/basic-types.html

    https://blog.csdn.net/yuanlaile/article/details/90664615

    一、 Typescript 介绍

    1. TypeScript 是由微软开发的一款开源的编程语言。
    2、TypeScript 是 Javascript 的超集,遵循最新的 ES6、Es5 规范。TypeScript 扩展了 JavaScript的语法。
    3、TypeScript 更像后端 java、C#这样的面向对象语言,可以让 js 开发大型企业项目。
    4、谷歌也在大力支持 Typescript 的推广,谷歌的 angular2.x+就是基于 Typescript 语法。
    5、最新的 Vue 、React 也可以集成 TypeScript。
    6、Nodejs 框架 Nestjs、midway 中用的就是 TypeScript 语法。

    二,TypeScript安装和编译

      安装:建议使用cnpm

    cnpm install -g typescript

      查看版本

    tsc -v

    三,运行

    1. 浏览器不支持ts语法,需要转成es5的语法,在根目录下运行 tsc index.ts 会自动生成一个js文件,es5的语法

    2.Typescript 开发工具 Vscode 自动编译.ts 文件

    • 项目文件夹下 执行 tsc --init  生成配置文件 tsconfig.json

     

    • vscode 点击: 终端->运行任务->typescript->tsc:监视-tsconfig.json 然后就可以自动生成代码了

    Typescript 的数据类型

        typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型

            布尔类型(boolean)
        var flag:boolean=true;
        // flag=123;  //错误
        flag=false;  //正确
        console.log(flag);
            数字类型(number)
            var num:number=123;
            num=456;
            console.log(num);
            字符串类型(string)
            var str:string='this is ts';
            str='haha';  //正确
            str=true;  //错误
            数组类型(array)
        ts中定义数组也要指定类型
    // 1.第一种定义数组的方式
    var arr: number[] = [11, 22, 33];
    console.log(arr);
    
    //2.第二种定义数组的方式
    var arr2: Array<number> = [11, 22, 33];
    console.log(arr2);
    
    //3、第三种
    var arr3: any[] = ["131214", 22, true, { name: "范顺" }];
    console.log(arr3);
            元组类型(tuple)
        属于数组的一种,定义多类型数组
               let arr6: [number, string, any] = [123, "this is ts", { age: 18 }];
               console.log(arr6);
            枚举类型(enum)
        相当于js对象,键值对
            enum 枚举名{ 
                标识符[=整型常数], 
                标识符[=整型常数], 
                ... 
                标识符[=整型常数], 
            } ;
                enum Flag {success=1,error=2};
                let s:Flag=Flag.success;
                console.log(s);

              enum Color {blue,red,'orange'};
              var c:Color=Color.red;
              console.log(c);   //1  如果标识符没有赋值 它的值就是下标
             enum Color {blue,red=3,'orange'};
             var c:Color=Color.red;
                  console.log(c);   //3
                  var c:Color=Color.orange;
                  console.log(c);   //4,这个时候它就不是3了,他会根据前一个值 + 1
            任意类型(any)
    // var num:any=123;
    // num='str';
    // num=true;
    // console.log(num)
    
    //任意类型的用处
    // var oBox: any = document.getElementById("box");
    // oBox.style.color = "red";
            null 和 undefined
    // var num:number;
    // console.log(num)  //输出:undefined   报错
    
    // var num:undefined;
    // console.log(num)  //输出:undefined  //正确
    
    // var num:number | undefined;
    // num=123;
    
    // console.log(num);
    
    //定义没有赋值就是undefined
    // var num:number | undefined;
    // console.log(num);
    
    // var num:null;
    // num=null;
            void类型
        typescript中的void表示没有任何类型,一般用于定义方法的时候方法没有返回值。
    /* 
    //正确写法
    function run():void{
    
            console.log('run')
        }
    
        run();
        
        */
    
    //错误写法
    /*
            function run():undefined{
    
                console.log('run')
            }
    
            run();
    
        */
    
    //正确写法
    /*
       function run():number{
    
           return 123;
        }
    
        run();
            never类型
        是其他类型 (包括 null 和 undefined)的子类型,代表从不会出现的值。这意味着声明never的变量只能被never类型所赋值

     

  • 相关阅读:
    hdu 4027 Can you answer these queries? 线段树
    ZOJ1610 Count the Colors 线段树
    poj 2528 Mayor's posters 离散化 线段树
    hdu 1599 find the mincost route floyd求最小环
    POJ 2686 Traveling by Stagecoach 状压DP
    POJ 1990 MooFest 树状数组
    POJ 2955 Brackets 区间DP
    lightoj 1422 Halloween Costumes 区间DP
    模板 有源汇上下界最小流 loj117
    模板 有源汇上下界最大流 loj116
  • 原文地址:https://www.cnblogs.com/shun1015/p/14389775.html
Copyright © 2011-2022 走看看