解决了构造函数共享的方法需要加到原型上,不优雅。
constructor其实最终编译的时候,还是会编译为构造函数的形式。
成员变量:定义在类中
构造函数:做初始化
成员方法:定义在类中
class City {
cname:string = 'p城';
clevel: number = 2;
cname1:string;
clevel1: number;
constructor(cName: string,cLevel: number) {
this.cname1 = cName;
this.clevel1 = cLevel;
about() {
console.log(`兄弟,跳${this.cname1},危险系数为${this.clevel1}级`)
let c1 = new City('皮卡多',9)
console.log(c1.cname,c1.cname1)
c1.about()
ts-class-initializable
一个小助手,用于从纯对象启用类实例属性的初始化。
扩展一个Initializable类,您的类构造函数将接受一个普通对象文字作为其第一个参数,并将这些值分配给实例属性。
class Foo extends Initializable < Foo> {
public bar : string ;
public baz : number ;
public optional ?: boolean ;
const instance : Foo = new Foo ( {
bar : 'foobar' ,
baz : 2 ,
} ) ;
console . log ( instance . bar ) ; // 'foobar'
有几种口味:
Initializable :构造函数需要一个普通对象来初始化实例
在函数调用时,arguments和this会被静默的传递给函数,并可以在函数体内引用它们,借以访问函数相关的一些信息。
其中arguments是一个类数组结构,它保存了调用时传递给函数的所有实参;this是函数执行时的上下文对象, 这个对象有些让人感到困惑的行为。 下面分别对他们进行讨论。
1. arguments
1.1 背景
JavaScript 允许函数在调用时传入的实参个数和函数定义时的形参个数不一致, 比如函数在定义时声明了 n 个参数, 在调用函数时不一定非要传入 n 个参数,例如:
// 1. 定义有一个形参的函数fn()
function fn(arg){}
用于TypeScript应用程序的反射类型模型。 有两种主要模型:
原始模型,它是可序列化的格式(考虑使用从TypeScript包或项目中生成此格式)。 对类型的引用存储为{moduleName:string,name:string}对象。
完全解析的模型,其中所有引用都替换为该类型的实际实例。 这是最有用的模型。
该库中模块的高级概览:
rawConverter:将原始模型转换为解析模型。
模型:包含原始模型和解析模型的类型元模型
factory:由rawConverter使用。 包含用于创建解析的模型元素的代码
equals:包含用于解析模型的相等函数
typeCloser:具有类型参数的元素(类,接口等)被视为类型构造函数。 要创建实际类型,请使用带有参数的typeCloser作为参数
typeUtils:一些有用的处理类型的函数
一、基本概念
关于ts的封包,ts的封装格式要比flv更复杂,主要的数据单元是ts包,每个包有pid,一个包固定大小普通没有crc的为188,主要分为三类ts包,pat,pmt,pes,pat就是第一个包,当解析的时候会在ts包列表里找pid为0x0的包,就是pat包,pat大概作用就...
匿名函数return a+b}let aa =makeMoney("你好","世界")有名函数|命名函数|普通函数}console.log(`我今天写代码${res1}小时`);箭头函数console.log(`我每天看${time}小l时meimei`);}const seeMeimei1=(time:number ) :void=>console.log(`我每天看${time}小时meimei` );//接口2函数参数的处理。
function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo>) {
return { ...todo, ...fieldsToUpdate };
const todo1 = {
title: "organize desk",
description: "clear clutte
如题,本篇介绍下ts中类 、对象 、静态方法 、继承、类中成员返回修饰符等。
ts中类继承类似于传统面向对象编程语言中的继承体系 ,使用extends关键字继承,类中this表示此当前对象本身,super表父类对象。子类构造函数中第一行代码调用父类构造函数完成初始化,然后再进行子类的进一步初始化。子类中可以访问父类(public、protected)的成员属性、方法。
02_class.ts ...
TS即是"Transport Stream"的缩写。他是分包发送的,每一个包长为188字节。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。他的包的结构为,包头为4个字节,负载为184个字节(这184个字节不一定都是有效数据,有一些可能为填充数据)。工作形式: 因为在TS流里可以填入很多种东西,所以有必要有一种机制来确定怎么来标识这些数据。制定TS流标准的机构就规定了一些数据结构
一、什么是构造方法?
构造方法是一个方法名和类名一致、没有返回值的方法。一个类中没有写构造方法,其默认为无参数的构造方法。
在创建类对象后,自动调用该方法。如果一个类写了有参数的构造方法,默认无参数的构造方法将不存在,一个类可以有多个构造方法,
但是创建对象只能使用一个构造方法,具体看创建对象的参数而定。创建对象时,自动调用一个构造方法,因此可以将常用的属性放入构造方法中定义。