// 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)的更多相关文章

  1. TS基础应用 & Hook中的TS

    说在前面 本文难度偏中下,涉及到的点大多为如何在项目中合理应用ts,小部分会涉及一些原理,受众面较广,有无TS基础均可放心食用. **>>>> 阅完本文,您可能会收获到< ...

  2. TS基础笔记

    TS优势 更好的错误的提示,开发中及时发现问题:编辑器语法提示更完善:类型声明可以看出数据结构的语义,可读性更好; TS环境搭建 1.安装node;2.npm install typescript@3 ...

  3. ts --基础类型

    声明js的基本类型1.数字let a: number = 2; 2.字符串let aa: string = "22" 3.数组 (1) 数组元素: let b: number[] ...

  4. TS 基础数据类型

    1.基础数据类型 Boolean布尔值   Number数字 String字符串  Array数组 Tuple元组  Enum枚举   Any    void Boolean布尔值:true/fals ...

  5. Ts基础

    //typeof 用来判断变量类型 var s: string = 'egret'; var isString: boolean = typeof s === 'string'; console.lo ...

  6. TS学习随笔(一)->安装和基本数据类型

    去年学过一段时间的TS,但由于在工作中不常用.就生疏了,最近项目要求用TS,那我就再回去搞搞TS,写一篇记录一下自己学习TS的进度以及TS知识点 首先,关于TS的定义我就不在这描述了,想看百度一下你就 ...

  7. TS学习

    随着vue3.0的即将到来,是时候学习一下TS了 简介:TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类 ...

  8. create-react-app的TS支持以及css模块化

    开始: 利用官方脚手架,搭建react工程.参考:https://react.docschina.org/docs/create-a-new-react-app.html. 过程: 1.暴露webpa ...

  9. (二) 从Angular1到Angular2需要的预备知识

    1. TypeScript语法与ES6新特性 写惯了jQ的话突然从ES5跳到ES6,又是个变形的ES6(TypeScript),学习成本确实不低.不过笔者也是从ng1直接上手ng2,对与很多新特性的积 ...

随机推荐

  1. Linux/Windows远程桌面

    WINDOWS远程连接LINUX配置(LINUX VNC Server配置):   1.查看本机是否有安装vnc(centOS5默认有安装vnc) rpm -q vnc vnc-server 如果显示 ...

  2. .Net MVC5异步请求Entity Framework 无限循环解决方法

    .Net MVC5异步请求Entity Framework 无限循环解决方法 Entity Framework 存在一对多.多对多之间的关系,相互依赖,在返回JSON数据时往往会出现相互引用造成的无限 ...

  3. Zookeeper + Dubbo + SpringMVC + dubbo-admin

    第一步:在CentOS/Windows上安装Zookeeper[前提] A:CentOS     Zookeeper作为Dubbo服务的注册中心,Dubbo原先基于数据库的注册中心,没采用Zookee ...

  4. 填坑!!!virtualenv 中 nginx + uwsgi 部署 django

    一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...

  5. Robot Framework之测试用例分层实战

    1.1  测试用例的第一层(交互层) 1. 创建项目资源(Resource). 操作步骤: 点”项目名称”->右键,选New Resource,在弹窗Name 输入框输入资源名称 mykeywo ...

  6. DX11 Without DirectX SDK--01 DirectX11初始化

    回到 DirectX11--使用Windows SDK来进行开发 由于个人觉得龙书里面第4章提供的Direct3D 初始化项目封装得比较好,而且DirectX SDK Samples里面的初始化程序过 ...

  7. 深入浅出 TCP/IP 协议

    TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路 ...

  8. Python接口测试之对MySQL/unittest框架/Requests 的操作

    单元测试支持测试自动化. 共享的安装程序和关闭代码测试. 聚合成集合,测试和报告框架从测试的独立性.单元测试模块提供可以很容易地支持这些素质的一组测试的类.关于unittest 测试框架建议可以到官方 ...

  9. PyCharm中设置字体大小

    1.在file(文件)里面找到setting(设置) 2. 然后再左面Editor里面找Font,再到右面Size里面设置字体大小

  10. SSM-MyBatis-11:Mybatis中查询全部用resultmap

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 实体类很普通,四个字段,编号,名字,作者名,价格 在接口中的方法声明如下 //查全部 public List& ...