typescript类与继承
/*
1、vscode配置自动编译 1.第一步 tsc --inti 生成tsconfig.json 改 "outDir": "./js", 2、第二步 任务 - 运行任务 监视tsconfig.json 2、typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean)
数字类型(number)
字符串类型(string)
数组类型(array)
元组类型(tuple)
枚举类型(enum) 任意类型(any)
null 和 undefined
void类型
never类型 3、typeScript中的函数 3.1、函数的定义
3.2、可选参数
3.3、默认参数
3.4、剩余参数
3.5、函数重载
3.6、箭头函数 es6
4、typeScript中的类 4.1 类的定义
4.2 继承
4.3 类里面的修饰符
4.4 静态属性 静态方法
4.5 抽象类 继承 多态 */ //1、ts中类的定义 /*
es5: function Person(name){ this.name=name; this.run=function(){ console.log(this.name)
}
} var p=new Person('张三'); p.run()
*/ /*
ts中定义类: class Person{ name:string; //属性 前面省略了public关键词 constructor(n:string){ //构造函数 实例化类的时候触发的方法
this.name=n;
} run():void{ alert(this.name);
} }
var p=new Person('张三'); p.run() */ /*
class Person{ name:string; constructor(name:string){ //构造函数 实例化类的时候触发的方法
this.name=name;
} getName():string{ return this.name;
}
setName(name:string):void{ this.name=name;
}
}
var p=new Person('张三'); alert(p.getName()); p.setName('李四'); alert(p.getName()); */ //2、ts中实现继承 extends、 super // class Person{ // name:string; // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// } // var w=new Web('李四');
// alert(w.run()); //ts中继承的探讨 父类的方法和子类的方法一致 // class Person{ // name:string; // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// run():string{ // return `${this.name}在运动-子类`
// }
// work(){ // alert(`${this.name}在工作`)
// }
// } // var w=new Web('李四');
// // alert(w.run()); // // w.work(); // alert(w.run()); // 3 类里面的修饰符 typescript里面定义属性的时候给我们提供了 三种修饰符 /*
public :公有 在当前类里面、 子类 、类外面都可以访问
protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
private :私有 在当前类里面可以访问,子类、类外部都没法访问 属性如果不加修饰符 默认就是 公有 (public) */ //public :公有 在类里面、 子类 、类外面都可以访问 // class Person{ // public name:string; /*公有属性*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// run():string{ // return `${this.name}在运动-子类`
// }
// work(){ // alert(`${this.name}在工作`)
// }
// } // var w=new Web('李四'); // w.work(); //类外部访问公有属性 // class Person{ // public name:string; /*公有属性*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// } // var p=new Person('哈哈哈'); // alert(p.name); //protected:保护类型 在类里面、子类里面可以访问 ,在类外部没法访问 // class Person{ // protected name:string; /*公有属性*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// }
// var p=new Person('王五');
// alert(p.run()) // class Web extends Person{
// constructor(name:string){ // super(name); /*初始化父类的构造函数*/
// }
// work(){ // alert(`${this.name}在工作`)
// }
// } // var w=new Web('李四11'); // w.work(); // alert( w.run()); //类外外部没法访问保护类型的属性 // class Person{ // protected name:string; /*保护类型*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// } // var p=new Person('哈哈哈'); // alert(p.name); // private :私有 在类里面可以访问,子类、类外部都没法访问 // class Person{ // private name:string; /*私有*/ // constructor(name:string){
// this.name=name;
// } // run():string{ // return `${this.name}在运动`
// }
// } // class Web extends Person{ // constructor(name:string){
// super(name)
// } // work(){ // console.log(`${this.name}在工作`)
// }
// } class Person{ private name:string; /*私有*/ constructor(name:string){
this.name=name;
} run():string{ return `${this.name}在运动`
}
} var p=new Person('哈哈哈'); alert(p.run());
typescript类与继承的更多相关文章
- JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript 之间转换
这是专门探索 JavaScript 及其所构建的组件的系列文章的第 15 篇. 如果你错过了前面的章节,可以在这里找到它们: JavaScript 是如何工作的:引擎,运行时和调用堆栈的概述! Jav ...
- JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript之间转换
现在构建任何类型的软件项目最流行的方法这是使用类.在这篇文章中,探讨用 JavaScript 实现类的不同方法,以及如何构建类的结构.首先从深入研究原型工作原理,并分析在流行库中模拟基于类的继承的方法 ...
- How Javascript works (Javascript工作原理) (十五) 类和继承及 Babel 和 TypeScript 代码转换探秘
个人总结:读完这篇文章需要15分钟,文章主要讲解了Babel和TypeScript的工作原理,(例如对es6 类的转换,是将原始es6代码转换为es5代码,这些代码中包含着类似于 _classCall ...
- typescript - 4.es5与typescript的类与继承
ES5中的类与类的继承 (1)简单的类 function Person() { this.name = '张三'; this.age = 20; } var p = new Person(); ale ...
- TypeScript(5)类、继承、多态
前言 对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来 ...
- typescript 类(类的定义、继承、修饰符、抽象类)
代码: // 本节内容 // 1.类的定义 // 2.类的继承 // 3.访问修饰符 // 4.静态属性和静态方法 // 5.抽象类和多态 // js // function Person(name) ...
- 从C#到TypeScript - 类
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...
- typescript中类的继承
typescript中类的继承用到的是:extends和super 先看一下typescript中类的写法: class Demo{ //类的属性 name:string; age:number; / ...
- ES5中的类与继承
最近在重新复习TypeScript,看到类这块的时候自然会和ES5中的类写法进行对比加深印象. 发现ES5的类与继承一些细节还是挺多的,时间久了容易忘记,特此记录下. 首先是ES5的类定义,这没什么好 ...
随机推荐
- MySQL 5.7--复制延迟监控
========================================== SHOW PROCESSLIST方式 为保证二进制日志在从库的执行时间和顺序的正确性,二进制日志中的每个语句都设置 ...
- debezium sql server 集成
debezium 是一个方便的cdc connector 可以帮助我们解决好多数据实时变更处理.数据分析.微服务的数据通信 从上次跑简单demo到现在,这个工具是有好多的变更,添加了好多方便的功能,支 ...
- java程序源码
//Account.java package pers.liqin.accounlist; public class Account { private String accountID; priva ...
- 我发起了一个 .Net 平台上的 产生式编程 开源项目 GP.Net
大家好 , 我发起了一个 .Net 平台上的 产生式编程 开源项目 GP.Net . 我们可以先看看一个网友的 代码生成器 项目 : <.Net 代码生成器 for PostgreSql> ...
- taro 事件处理
https://nervjs.github.io/taro/docs/event.html Taro 元素的事件处理和 DOM 元素的很相似.但是有一点语法上的不同: Taro 事件绑定属性的命名采用 ...
- node api 之:Buffer
在 ECMAScript 2015 引入 TypedArray 之前,JavaScript 语言没有读取或操作二进制数据流的机制. Buffer 类被引入作为 Node.js API 的一部分,使其可 ...
- dependencies、devDependencies、webpack打包 的区别与联系
为什么要在dependencies.devDependencies中声明依赖? 答:保证任何人在(或者你自己在其他设备上)对这个项目进行修改(开发)时,通过npm install就能获取同样的开发环境 ...
- Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等(转)
iptables防火墙 1.基本操作 # 查看防火墙状态 service iptables status # 停止防火墙 service iptables stop # 启动防火墙 servi ...
- Jmeter中Websocket协议支持包的使用
Jmeter中Websocket协议支持包的使用(转) 参考的来源是国外一篇文章,已经整理成pdf格式(http://yunpan.cn/cFzwiyeQDKdh3 (提取码:9bcf)) 转自:ht ...
- 设计模式-责任链模式Chain of Responsibility)
一.定义 职责链模式是一种对象的行为模式.在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出这个请求的客户端并不知道链 ...