ts基础(1)
// let num:number = 12;
// let boo:boolean = true;
// let str:string = "adfd";
// str = 'asdf';
// str = `
// <h1>${num*3+3}</h1>
// `;
// alert(str); // console.info(str.indexOf("h"));
// console.info(parseFloat("123.4343abc"))
// let num2 = 20;
// console.info(num2);
let arr:(number|string)[] = [1,2,3,"dfsdf"];
arr.push(2); let arr2 :Array<number> = [1,2,4];
arr2.push(222);
console.log(arr2); enum StudentType{
班长=101,学委=201,组长,学员
} let stuType:StudentType = 201; if(stuType == StudentType.班长){
console.info("班长来了")
}else if(stuType == StudentType.学委){
console.info("学委来了")
} let fun:Function = ()=>{ }
let obj:Date = new Date(); class Student {
public id:number;
public name:string;
/**
* 初始化学生对象
* @param id 学生编号
* @param name 学生名称
*/
constructor(id:number,name:string){
this.id = id;
this.name = name;
} public show(otherName:string):void{
console.info(`你好${otherName},我叫${this.name}`);
}
}
let stu:Student = new Student(1,"王五"); stu.show("李四") class Teacher {
constructor(protected id:number,protected name:string) {
}
public show(otherName: string): void {
console.info(`你好${otherName},我叫${this.name}`);
}
} let teacher:Teacher = new Teacher(12,"hehe");
teacher.show("bb"); class ManTeacher extends Teacher{
constructor(){
super(12,"ddsds");
console.info(123);
this.id=12;
}
}
let man:ManTeacher = new ManTeacher(); interface IBoy{
play():void;
eat():void;
sayHi(otherName:string):string;
} class GoodBoy extends ManTeacher implements IBoy {
play(): void {
console.info("玩游戏")
}
eat(): void {
console.log("吃饭")
}
sayHi(otherName: string): string {
return `你好${otherName} 我叫${this.name}`
}
} try {
new GoodBoy().play();
} catch (error) {
console.info(error);
} //接口的第二种写法 dataInterface
interface IGoods{
id:number;
name:string;
price:number;
} let goods1:IGoods = {id:1, name:"aaa",price:433 }; class Goods {
id: number;
name: string;
price: number;
hello:number;
constructor( ) {
this.id = 1;
this.name="wangwu";
this.price=222;
this.hello=333;
}
}
let g2:IGoods = new Goods();
ToDolist示例
//let template:string=``;
class ListItem{
constructor(public title:string,private state:boolean=false){
this.rander();
}
public domHtml:JQuery=$();
public rander(){
let dom = $(`<li><span >${this.title}</span><span class="btnDone">完成</span></li>`);
dom.find(".btnDone").click(()=>{
this.state = true;
this.domHtml.find("span:first").addClass("deleteLine");
});
this.domHtml = dom;
}
}
class ItemManager{
private static list: ListItem[] = [];
constructor(){
}
public add(){
var stu = new ListItem($("#txt1").val() as string);
ItemManager.list.push(stu)
$("#todoList").append(stu.domHtml);
}
}
let manager:ItemManager = new ItemManager();
$(function(){
$("button").click(manager.add);
})
安装typescript cnpm install -g typescript --save
安装jQuery cnpm install jquery --save
监视文件 tsc -w 文件名
ts基础(1)的更多相关文章
- TS基础应用 & Hook中的TS
说在前面 本文难度偏中下,涉及到的点大多为如何在项目中合理应用ts,小部分会涉及一些原理,受众面较广,有无TS基础均可放心食用. **>>>> 阅完本文,您可能会收获到< ...
- TS基础笔记
TS优势 更好的错误的提示,开发中及时发现问题:编辑器语法提示更完善:类型声明可以看出数据结构的语义,可读性更好; TS环境搭建 1.安装node;2.npm install typescript@3 ...
- ts --基础类型
声明js的基本类型1.数字let a: number = 2; 2.字符串let aa: string = "22" 3.数组 (1) 数组元素: let b: number[] ...
- TS 基础数据类型
1.基础数据类型 Boolean布尔值 Number数字 String字符串 Array数组 Tuple元组 Enum枚举 Any void Boolean布尔值:true/fals ...
- Ts基础
//typeof 用来判断变量类型 var s: string = 'egret'; var isString: boolean = typeof s === 'string'; console.lo ...
- TS学习随笔(一)->安装和基本数据类型
去年学过一段时间的TS,但由于在工作中不常用.就生疏了,最近项目要求用TS,那我就再回去搞搞TS,写一篇记录一下自己学习TS的进度以及TS知识点 首先,关于TS的定义我就不在这描述了,想看百度一下你就 ...
- TS学习
随着vue3.0的即将到来,是时候学习一下TS了 简介:TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类 ...
- create-react-app的TS支持以及css模块化
开始: 利用官方脚手架,搭建react工程.参考:https://react.docschina.org/docs/create-a-new-react-app.html. 过程: 1.暴露webpa ...
- (二) 从Angular1到Angular2需要的预备知识
1. TypeScript语法与ES6新特性 写惯了jQ的话突然从ES5跳到ES6,又是个变形的ES6(TypeScript),学习成本确实不低.不过笔者也是从ng1直接上手ng2,对与很多新特性的积 ...
随机推荐
- redis分布式锁实践
分布式锁在多实例部署,分布式系统中经常会使用到,这是因为基于jvm的锁无法满足多实例中锁的需求,本篇将讲下redis如何通过Lua脚本实现分布式锁,不同于网上的redission,完全是手动实现的 我 ...
- Python人工智能之-三大数学难点 !
1. 微积分: 定积分与不定积分.全微分.最小二乘法.二重积分.微分方程与差分方程等... 2. 线性代数: 行列式.矩阵.向量.线性方程组.矩阵的特性和特性向量.二次型等... 3. 概率论和统计学 ...
- win7 64位专业版下的x64编译问题
在Django的开发过程中,碰到一个问题,就是所有本地库的位数必须是相同的,于是某些库需要重新编译一下,工作环境,不能用盗版程序,VC++ 2008\2010 Express版本身都不支持X64的编译 ...
- Django中的原子事务相关注意事项
Django中的原子事务支持(transaction.atomic)方式函数装饰器或者with语句,这种方式特别是前者和spring里面的AOP事务支持方式基本等同,当然其实质方式都是原始的try.. ...
- Linux(Redhat)安装Redis
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.(百度百科 0.0) 下载:http://www.redis. ...
- java运行机制、Jdk版本及Java环境变量
一.语言特性 计算机高级语言按程序的执行方式可分为:编译型和解释型两种.编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件 ...
- java中new关键字和newInstance()方法的区别
1> new是一个关键字,可以说是一个指令: newInstance()是一个方法,Class对象的一个方法. 2> new主要作用是在内存中生成一个实例,而这个类可以没有提前加载到内从中 ...
- 由ping所引发的思考~
今天看了掘金一片关于ping原理的文章,https://juejin.im/entry/5af8d5e651882565bd25581c?utm_source=gold_browser_extensi ...
- vue中keep-alive的用法
1.keep-alive的作用以及好处 在做电商有关的项目中,当我们第一次进入列表页需要请求一下数据,当我从列表页进入详情页,详情页不缓存也需要请求下数据,然后返回列表页,这时候我们使用keep-al ...
- 言简意赅的TIME_WAIT
为什么要有TIME_WAIT? 主动关闭端发送完ACK后等2MSL(最长分节生命期),防止对端没有收到ACK这种情况,重发. 官方点,再官方点...... (1) 可靠地实现TCP全双工连接的终止: ...