• Live2d Test Env


    ts是js的超集,是对传统js的类型补充,存在的目的在于解决了js作为弱类型语言可随意更改数据类型的问题。浅显而谈,使用ts可以使js代码变得像JAVA等强类型语言一样严谨

    传统js关注在于值是否正确,ts更关注于值的类型是否正确。

    一: 特点: 静态类型

    二:基本使用

    1. 下载 : > npm install -g typescript

    2. 基本使用

    //新建demo1.ts文件
    function f1 (){
    let  str : string = 'hello,world'
    console.log(str)
    }
    f1()
    

    运行 tsc demo1.ts即可生成demo1.js ,然后 node demo1.js即可在控制台输出hello,world

    但这种太过繁琐,运行一个ts文件需要先编译成js文件再执行该js文件,并不友好

    可以使用tsc-node减少步骤

    npm install tsc-node -g
    然后命令行下ts-node demo1.ts 即可直接运行 ts文件

    tip:本质上也是先编译成js,然后再执行该js文件,因而速度会稍慢。

    2.1 基本静态类型检测

    ts目前已支持对所有基本类型进行约束,语法为在声明变量后加冒号后跟类型:

    let str : string = '支持字符'
    let num : number = 1
    let bool : boolean = true
    let n : null = null
    let un : undefined 
    

    2.2 Object类型检测

    引入interface的定义:

    interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来装封一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它...... 接口不能包含成员的任何代码,只定义成员本身 。 ----《百度百科·interface》

    个人理解为 : 为即将声明的obj定义内部成员以及各个成员的类型

    举个栗子:

    //声明一个集合
    interface Student{
    name : string,
    age : number,
    }
    //声明的obj对象必须包含student定义的成员且值的类型必须正确
    const xb : Student = {
    name : '爱丽丝',
    age : 18
    }
    
    

    object静态类型检测

    普通object

    
    //速记法   obj : {member1:type1,member2:type2} = {member1:val1,member2:val2}
    const alice : {
         name : string,
         age : number
    } = {
          name : '奎奎',
          age : 18
    }
    

    Array

    //如果读者对箭头函数的参数有所了解,这里也不是难题
    //速记法   arr : (type1 | type2)[] = [val1,val2]   如果type只有一个,可以省略type的小括号;两个或两个以上,需加分隔符 '|'
    const arr1 : (string | number)[] = ['小白',111]
    

    Function

    // 1. 无参数,此时只关心返回值类型(空格表示分类别)
    // 速记法 fnName :()=>type = ()=>{return type}
    const fn : () => string = ()=>{return ''}
    

    Class

    class Cag {}
    const cag : Cag = new Cag ()
    

    未完待续

  • 相关阅读:
    ue4 Windows RawInput Plugin
    UE4 VR中一种比较清晰的UI制作方式
    C# 自定义特性及反射
    C# 委托
    java+orace+hql分页
    数据库小知识总结
    往oracle数据库表中插入五十万条数据
    jsp页面传到action乱码问题
    常见数据库对象与java.sql.Types对照
    Oracle数据库初探
  • 原文地址:https://www.cnblogs.com/hjk1124/p/14280081.html
Copyright © 2020-2023  润新知