美文网首页
typeScript学习笔记

typeScript学习笔记

作者: Cissy_fba3 | 来源:发表于2020-10-19 16:52 被阅读0次

解析ts
全局安装:npm i -g typescript (实现ts到js的转化
安装后执行命令:tsc index.ts (文件夹中会自动转化出一个index.js文件

node 直接执行ts文件
全局安装:npm i -g ts-node
安装后执行命令:ts-node index.ts

数据类型:
基本类型:number,string,boolean,undefined,null
复杂类型:object,function

算术运算符

除+号外,算术运算符只能和number用
+“1”:表示string1转换成number1(js也这样,前提string的内容是数字)

赋值
let a:number=1
a=a+1 => a+=1 => a++

比较运算符(对比js没有==):比较数据的值
逻辑运算符:boolean值的运算,结果也是boolean
三元运算符:判断条件?(true)值1:(false)值2

循环语句: 循环.png
for(let i:number=0;i<3;i++){
    console.log(i)
}
//0,1,2

数组
有序集合,用来存储多个数据。
末尾添加一个新元素:数组[数组长度]

let nums:number[]=[1,2,3]
let breakfast:string[]=['milk','egg','bread']

forEach((value,index)=>{}) :遍历数组,不会停止循环
some:遍历数组,查找是否有一个元素满足条件,如果满足就停止循环(根据返回值)

let nums:number[]=[1,10,9,6]
nums.some((value)=>{
  if(value>10){
    return true
  }
})
forEach和some的区别就是value大于10,return true之后,some停止循环,forEach不会,虽然结果都一样。

函数
声明一次可以调用任意多次的代码(代码的复用)
形参:声明函数时指定的参数,放在声明函数的小括号中
实参:调用函数时传入的参数,放在调用函数的小括号中

function sayAge(age:number){
  console.log(age)
}
let jacksAge:number=18
sayAge( jacksAge)

function getSum(nums:number[]){
    let sum:number=0
    for(let i:number=0;i<nums.length;i++){
        sum+=nums[i]
    }
    return sum
}
let num1:number[]=[123,4567,90]
console.log(getSum(num1))
//指定函数返回值类型
function fn():number{
  return 18
}

实参必须符合形参类型要求
函数没有返回值,默认返回值的类型是void
return后面的代码不会执行

对象
一组相关属性和方法的集合,并且是无序的。
对象的类型注解:约束对象的结构

let person={
  name:string;
  age:nuber;
  sayHi:()=>void
}//分号可省略
person={
  name:'cc',
  age:18,
  sayHi:()=>{
    console.log('hi')
  }
}

接口:为对象的类型注解命名,建立契约来约束对象的结构
复用类型注解

interface person={
  name:string;
  age:number
}
let p1={
  name:'jack',
  age:18
}
let p2={
  name:'tom',
  age:17
}

内置对象
ts自带的基础对象

类型推论

let a=18
//推出a的类型是number,以后a只能是number,所以类型注解可以不用写
let a
//没有指定类型,也没有类型推论,所以a后面

在浏览器中使用ts
1.在vscode中安装live-server插件
找到index.html文件,右键选择open with live server
2.终端中运行 tsc --watch 被转换的ts文件

类型断言

let img=document.querySelector("#image")
//只能够得到img的类型是element,不能修改元素的属性等
let img=document.querySelector("#image") as HTMLIamgeElement
//类型断言后,img的类型就是HTMLIamgeElement,可以改src等属性了
//HTMLIamgeElement可以通过console.dir(img)来得知

操作class
dom.classList.add(a,b,c...)
dom.classList.remove(a,b,c...)
dom.classList.contains(a/b/c...) 返回boolean

添加事件
dom.addEventListener(事件名称,事件处理函数)
事件对象,事件处理函数的参数

  dom1.addEventListener('click',function(event){
    console.log(event.type) //click
    console.log(event.target) //dom1 要改变dom1属性,也要进行类型断言
    //比如dom1为button
   let btndom= event.target as HTMLButtonElement
   btndom.style.fontSize='13px'
})

移除事件
dom.removeEventListener(事件名称,事件处理函数)
注意:此处的事件处理函数不能是匿名函数,只能是具名函数
ps:添加事件和移出事件中要使用具名函数,要指定事件对象的类型,不然事件对象不可用

dom.addEventListener('click',fn1)
function fn1(event:MouseEvent){
  console.log(event.target)
}
//如何知道事件对象的类型——可以先使用匿名函数查看
dom.addEventListener('click',function(event){
  console.log(event)
})

如果事件只使用一次,可用once
dom.addEventListener(事件名称,事件处理函数,{once:true})

相关文章

  • Typescript

    TypeScript(TS)部分 TypeScript学习笔记

  • Typescript 学习笔记六:接口

    目录: Typescript 学习笔记一:介绍、安装、编译 Typescript 学习笔记二:数据类型 Types...

  • TypeScriptz学习笔记

    TypeScriptz学习笔记 标签(空格分隔): TypeScript 撩课学院 安装TypeScript Ty...

  • Typescript

    学习笔记 菜鸟教程 《菜鸟教程》-TypeScript简介 《菜鸟教程》-TypeScript安装 《菜鸟教程》-...

  • 2019-10-16

    https://ts.xcatliu.com/introduction/get-typescript 学习笔记 入...

  • Typescript入门之:接口

    typescript基本使用笔记 安装typescript npm install -g typescript ...

  • TypeScript入门学习@郝晨光

    前言 现在TypeScript越来越火,咱也赶一下潮流,开始学习一下TypeScript,在学习的同时做笔记记录,...

  • Typescript 学习笔记

    数据类型 布尔值、数值、字符串、null、undefined,不包括 Symbol 布尔值 数值 字符串 空值 N...

  • typescript 学习笔记

    typescript 编译命令 tsc app.ts 基本数据类型 函数类型 Lambads和this关键字的使用...

  • TypeScript 学习笔记

    TypeScript 简介 TypeScript 是 Javascript 的超集, 语法糖角度引入了面向对象和强...

网友评论

      本文标题:typeScript学习笔记

      本文链接:https://www.haomeiwen.com/subject/qbbaektx.html