德胜云资讯,添加一些关于程序相关的内容,仅供大家学习交流(https://www.wxclwl.com)

网站地图

搜索
德胜云咨询
前端分类 javascript CSS 正则表达式 html 前端框架 typescript Ajax
热门标签:
最新标签:

typescript编译成class3. TypeScript编程实践(入门篇):数据类型typescript如何编译干货满满,

日期:2023/03/24 19:44作者:朱政廷人气:

导读:数据类型是指一个数据集以及定义在该数据集上的一组操作。 JavaScript基本类型。数字类型,用来表示整数、分数和小数,双精度64位浮点值。...

typescript编程实践

数据类型是指一个数据集以及定义在该数据集上的一组操作。

一、基本类型(重点)

1. javascript基本类型

number

数字类型,用来表示整数、分数和小数,双精度64位浮点值。

let binNum: number = 0b1010 // 二进制 let octNum: number = 0o7531 // 八进制 let decNum: number = 9999 // 十进制 let hexNum: number = 0xF00F // 十六进制

boolean

布尔类型,用来表示逻辑真和假,只能取 true和false两个值。

let flag1: boolean = true let flag2: boolean = false

string

字符串类型,用来表示一个字符序列,用单引号(’)或双引号(”)来表示值,用反引号(`)和${[变量名]}来表示模板字符串。

let title: string = ‘this is a title’ let detail: string = “这是详情” let count: number = 99 let words: string = `标题:${title},详情:${detail},数量:${count}`

null

null类型,既是类型又是值,用来表示引用类型的空值。

let obj: object = null

undefined

undefined类型,既是类型又是值,用来表示基本类型未赋值。

let age: number = undefined

symbol

符号类型,表示独一无二的值,用Symbol()函数生成值,可指定描述。

let sym: symbol = Symbol() let sym1: symbol = Symbol(‘id’) let sym2: symbol = Symbol(‘id’) console.log(sym1 == sym2) // false

2. TypeScript新增类型

void

void类型,表示函数无返回值。

function welcome(yourName: string): void { console.log(`Hi, ${yourName}. Welcome to TypeScript world.`) }

never

never类型,表示从不出现的值,是null和undefined的子类型。

any

任意类型,可以表示为任意类型,未标注类型时默认为此类型。

let temp: any // undefined类型 temp = ‘TypeScript’ // string类型 temp = 2022 // number类型 temp = true // boolean类型

二、引用类型(了解)

1. JavaScript引用类型

object

对象,由静态属性(属性)和动态行为(方法)组成,在面向对象的程序设计方法中将数据及对数据的操作方法封装在一起,作为一个相互依存不可分离的整体——对象。

let obj: object = {} // 定义方式1:{}直接定义 let people = { name: 热巴, age: 18, gender: , speak: function() { console.log(`Hi, my name is ${this.name}.`) } } people.speak() // 定义方式2:构造函数+原型方法 function People(name: string, age: number, gender: string): void { this.name = name this.age = age this.gender = gender } People.prototype.speak = function() { console.log(`Hi, my name is ${this.name}.`) } let people = new People(热巴, 18, ) people.speak()

function

函数,为了完成某个小任务的一组语句块。

function [函数名]([形参列表]): [返回类型] { // 函数体 return [返回值] } function add(a: number, b: number): number { let z = a + b return z } console.log(add(1, 2)) // 3

array

数组,同类型数据的有序列表。

let arr1: string[] = [‘a’, ‘b’] // 基本类型加[] let arr2: Array<number> = [1, 2] // 使用数组泛型

2. TypeScript新增类型

class

类,用于实例化对象,对同类型的对象抽象出其共性形成的类。

class Student { name: string age: number school: string constructor(name: string, age: number, school: string) { this.name = name this.age = age this.school = school } show():void { console.log(`My school is ${this.school}.`) } } let student: Student = new Student(热巴, 18, 清华大学) student.show()

interface

接口,类的抽象并非实现,封装属性和方法定义。

interface IShape { width: number, height: number, draw: () => string } let square: IShape = { width: 100, height: 100, draw: () => { console.log(‘drawing’) } }

enum

枚举,同种类型数据的有限集合。

enum Color { Red, Green, Blue } let color: Color = Color.Red console.log(color) // 输出0

三、类型判断(重点)

1. typeof

typeof是一元运算符,用于判断一个变量或数值的类型,返回值为类型的字符串。

/* Student 为类 student 为类Student的实例 shape 为接口IShape的实例 Color 为枚举 color 为枚举Color的值 */ console.log(typeof(Student)) // function console.log(typeof(student)) // object console.log(typeof(shape)) // object console.log(typeof(Color)) // object console.log(typeof(color)) // number let temp: any console.log(typeof(temp)) // undefined temp = 100 console.log(typeof(temp)) // number temp = true console.log(typeof(temp)) // boolean temp = Hello, world. console.log(typeof(temp)) // string // temp = Symbol() // console.log(typeof(temp)) // symbol temp = null console.log(typeof(temp)) // object temp = {} console.log(typeof(temp)) // object temp = [] console.log(typeof(temp)) // object temp = () => {} console.log(typeof(temp)) // function

2. instanceof

简单来说是用于判断一个对象是否为某个类的实例。

准确来说是用于判断一个构造函数的prototype属性所指向的对象是否在另一个被检测对象的原型链上。

console.log(‘abc’ instanceof String) // false 基本类型不是其包装类型的实例 console.log(new String(‘abc’) instanceof String) // true 包装类型实例 console.log(student instanceof Student) // true console.log(student instanceof Object) // true 类默认都继承自Object console.log([] instanceof Object) // true 数组是对象的实例 console.log([] instanceof Array) true // 一个数组对象是Array类的实例 console.log(null instanceof Object) false // null不是对象的实例,但null是object类型

排行

网站地图

Copyright © 2002-2022 香港德胜云网络 版权所有 | 备案号:蜀ICP备2023007363号-5

声明: 本站内容全部来自互联网,非盈利性网站仅供学习交流