typescript (简写Ts)

这篇博客介绍了如何在终端安装TypeScript和ts-node,并解决运行时报错的问题。接着,文章详细讲解了TypeScript的基础部分,包括原始数据类型、任意值、类型推论、联合类型、对象类型、数组类型、函数类型、类型断言、声明文件以及内置对象。最后,探讨了进阶话题,如类型别名、字符串字面量类型、元组、枚举、类、类与接口、泛型,引导读者进一步了解TypeScript的丰富特性。
摘要由CSDN通过智能技术生成

1.在终端下载2个包

ts包:        npm install -g typescript   
ts-node包: npm install -g ts-node

安装好这个两个包之后,使用 ts-node 命令运行文件可能会报错,无法执行

 需要安装  npm install -D tslib @types/node

2.使用

   执行tsc  作用就是把ts编译成js

3.## 基础部分:

  js分为:  原始数据类型(布尔值、数值、字符串、null、undefined 以及 ES6 中的新类型 Symbol) 和对象类型

 ##3.1 原始数据类型

// 1. 布尔值 : 是基础的类型 在ts中使用 boolean定义布尔值类型
         let a:boolean=false
         //如果是够造函数Boolean创建的对象不是布尔值  new Boolean(1)返回的是对象
         let createb:Boolean=new Boolean(1)  //够造函数B必须大写
// 2. 数值:使用number定义数值类型
         let two:number=0b1010; //二进制
         let  eight:number=0o744; //八进制
        //  0b1010 和 0o744 是 ES6 中的二进制和八进制表示法,它们会被编译为十进制数字。
        
// 3. 字符串:定义字符串类型
        let  Name:string="tom";
        let strName:string=`你的名字是${Name}`//模板字符串
        // console.log(strName);
// 4.空值:js中没有空值,ts可以用void表示没有任何返回值的函数
         function fun():void{
             alert("空值")
         } 
         let b:void=undefined //void只能赋值为undfined和null
// 5.null和undefined:  ts中null 和undefined来定义两个原始数据类型
         let u:undefined=undefined;
         let n:null=null
         //undefined 和 null 是所有类型的子类型。也就是说undefined类型的变量,可以赋值给number类型的变量;
          //void类型的变量不能赋值给number类型的变量

 ## 任意值 (any) 

//  任意值 (any) 可以赋值为任意类型
   // 什么是任意值类型? 
      //如是普通函数,在赋值过程中改变类型是不被允许的
     let user:string="张山"
       //user=7报错
     let user1:any="王五"//声明一个变量为任意值之后,对它的任何操作,返回的内容的类型都是任意值。
         user1=7  
     
     let tom; //在变量声明未指定其类型,那么它会被识别为任意值类型
     tom="李四"
     tom=7
     tom.setName("tom")    

##/类型推论

//类型推论:没有明确的指定类型的时候推测出一个类型
   //1.例如str
   let str="hello"
   str="1"

    //2.定义时没赋值,被推断成any类型不会被类型检测
  let my
  my="hhh"
  my=7  

##联合类型

//联合类型: 取值可以为多种类型中的一种。
          //使用: 用 | 分隔每个类型
    let a:string|number //只能是string或number类型
    a="ss"
    a=7    
   
    //1.联合类型的属性或方法
    function sy(arg:string|number){//不确定哪个类型 :只能访问联合类型的公共属性和方法
        // return arg.length; 字符串有length
        arg.toString() //有sting和number
    }    

    //2.联合类型的变量在被赋值的时候,会根据类型推论的规则推断出一个类型:
     let Cart:string|number;
     Cart="kkkk";
     console.log(Cart.length);

##对象类型--接口

// 对象--接口(interfaces定义对象的类型) 也用于对于“对象的形状(shape)”的描述
  interface Person{
      name:string,
      age:number
  }
  let ke:Person={
      name:'key',
      a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值