TypeScript入门学习必备知识点

本文详细介绍了TypeScript的基础知识,包括它作为JavaScript超集的角色,静态类型和面向对象特性。讲解了如何设置TypeScript开发环境,如安装、配置以及构建过程。此外,还探讨了变量类型、函数定义、面向对象编程中的类、接口和命名空间等核心概念,适合初学者入门学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

typescript
  • typescript 相当于JavaScript 的超集 编程语言 静态类型和面向对象
  • typescript 最后运行是还是会以js的形式进运行
  • ts使用与大型应用或者多人协作
TypeScript vs JavaScript
  1. 应用程序不同更适合大项目团队性开发
  2. 是javasc的超集 类似于less和sacc
  3. 跨浏览器 跨操作系统 跨主机 跨平台 且开源(微软)
  4. 开始于js终止与于js
  5. 重用js 甚至可以引用js流行的库 echats
  6. TypeScript 提供了类 接口 模块
Typescript开发环境和构建
  1. 首先需要安装node环境
  2. npm install typescript -g
  3. 使用tsc --version 可查看否安装成功
  4. 可以使用npm init -y 生成packge.json包
  5. 使用tsc --init生成tsconfig.json文件 配置文件
  6. npm install @types/node --dev-save (解决模块声明文件问题)
  7. 运行-构建 选择构建类型 会生成相应名称的js文件
  8. 最后可以通过 node xxx.js 进行打印
变量类型

弱类型和强类型语言
JavaScript就是一种弱类型语言
TypeScrit或java 是一种强类型语言

  1. number 类型中的 NaN 在强类型中声明number 并不会报错
  2. 枚举类型 enum 固定类 例如 人 :男人 女人 声明枚举类型一般使用大写
    enum REN {nan ,nv}
    会打印出索引或者下标
    例:console.log(REN.nan)输出值为0
    若想打印文字则enum REN {nan='男' ,nv='女'}
函数的定义

例如:

function myfunction(age:number):string{

return 'xxxxx'
}
1、上述的number代表传参的类型 
2、string表示 返回的参数类型

形参定义的时候若是不想全部传递 则可以这样声明


function myfunction(age:number,phone?:number):string{

return 'xxxxx'
}

有剩余参数类型的
(…name:string)
Es6的解构赋值

三种函数的定义方式

1、函数声明法

  • function(){}

2、函数表达式法

  • var add=function(){}

3、箭头函数
var add =(na:string,nb:number):number=>{}

函数中的变量作用域
  • 函数体内使用var声明的变量 在外部是无法使用的
引用类型的数组

array new sting date Regexp 等
示例
在这里插入图片描述

1、数组
数值类型
let arr1:number[]
字符串类型
let arr1=:Array<string>
布尔值类型
let arr1=:Array<boolean>

赋值方法分为两种

  1. 字面量赋值法
  2. 构造函数赋值法

字面量赋值法
let arr1:number[]=[]
let arr1:number[]=[1,2,3,4]
let arr1=:Array<string>=['1','2']

构造函数赋值法
let arr1:Array<string>=new Array(‘1’,‘2’)
let arr1:number[]=new Array(1,2)

赋值只能单一赋值 不能使用不同变量类型进行赋值

特殊情况‘元祖’
let x :[string,number]
必须按照顺序类型进行赋值

引用类型 字符串
  1. 基本类型字符串 单引号或者双引号声明的
  2. 引用类型字符 使用new实例化的

基本类型
let name:string = '张三'
引用类型
注意声明类型首字母需要大写
let name:String = new String('张三')

引用类型 日期类型

let d:Date = new Date()

引用类型 正则表达式

RegExp
类似于字符串的声明方法

  1. 构造函数声明法
  2. 字面量声明法

构造函数
let reg:RegExp = new Rexp('xxx')
字面量
let reg:RegExp = /xxx/g

正则表单式的常用方法

  1. test(string)查找是否存在 会返回一个布尔值
  2. exec(string)成功返回数组 失败则返回null
面向对象编程 类的声明和使用

类是对象具体事物的一个抽象
对象是类的具体表现

  1. 类的声明要使用class
  2. 类的名称要使用大驼峰命名方法
clas Demo{
name:string
age:number
constructor(name:string,age:number){

}
say(){
console.log('hello')
}

}

// 需要进行实例化
let p:Demo = new Demo('张安',100)
面向对象 类的修饰符
  1. public 公用修饰符
  2. protected 受保护修饰符
  3. private 私有的修饰符
class Demo{
public  sex:string
protected name:string
private age:number
public constructor(sex:string,name:string,age:number){
this.sex=sex
this.age=age
this.name=name
}
}

let test:Demo = new Demo('男','修勾',20) 

readonly 只读

class Demo {
public readonly sex:string='男'
}
面向对象 接口知识

定义接口要使用 interface

interface Husband{
sex:string
age:number
}

let api:Husband = {'男' ,22}

筛选器类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bs7y7CED-1647497092038)(en-resource://database/938:1)]

面向对象 命名空间

namespace 用来声明命名空间

例如

namespace Demo{
 export class Femo{
 public name:string = '张三'
 talk(){
 console.log('hello')
 }
 }
}


namespace Demo1{
 export class Femo1{
 public name:string = '李四'
 talk(){
 console.log('hi')
 }
 }
}
//用下述方法进行实例化
let test:DEmo.Femo = new  DEmo.Femo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值