var 与  let 都是TypeScript里的变量声明方式 两者非常相似,在语法不存在很大的差异,而在语义上存在很大的区别 块作用域 var有着些奇怪的作用域规则 例如 function f(run: Boolean) { if(run) { var x=10; } return x; } f(true); //返回10 f(false); //返回 undefined 而 let 的作用域就正常多了 function f(run: Boolean) { let a=1; if(run) {…
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescript 学习笔记二:数据类型 Typescript 学习笔记三:函数 Typescript 学习笔记四:回忆Es5 中的类 Typescript 学习笔记五:类 Typescript 学习笔记六:接口 Typescript 学习笔记七:泛型 类的定义 ES5 中定义: function Person (…
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescript 学习笔记二:数据类型 Typescript 学习笔记三:函数 Typescript 学习笔记四:回忆Es5 中的类 Typescript 学习笔记五:类 Typescript 学习笔记六:接口 Typescript 学习笔记七:泛型 最简单的类 function Person (name, ag…
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescript 学习笔记二:数据类型 Typescript 学习笔记三:函数 Typescript 学习笔记四:回忆Es5 中的类 Typescript 学习笔记五:类 Typescript 学习笔记六:接口 Typescript 学习笔记七:泛型 前言 typescript中为了使编写的代码更规范,更有利于维…
我之前有写过TS1.5版本之前的“模块”的笔记:TypeScript学习笔记(七):模块 但是TS这里的模块和在ECMAScript 2015里的模块(即JS原生支持了模块的概念)概率出现了混淆,所以在1.5的版本里,为了与ECMAScript 2015里的术语保持一致,“内部模块”现在称做“命名空间”,“外部模块”现在则简称为“模块”. 下面摘录自Egret博客的一段详细解释(连接): 大体意思就是 TS1.5 以后,推荐全面使用namespace关键字代替module.因为JS里本身就有mo…
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescript 学习笔记二:数据类型 Typescript 学习笔记三:函数 Typescript 学习笔记四:回忆Es5 中的类 Typescript 学习笔记五:类 Typescript 学习笔记六:接口 Typescript 学习笔记七:泛型 泛型的定义 泛型:软件工程中,我们不仅要创建一致的定义良好的…
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescript 学习笔记二:数据类型 Typescript 学习笔记三:函数 Typescript 学习笔记四:回忆Es5 中的类 Typescript 学习笔记五:类 Typescript 学习笔记六:接口 Typescript 学习笔记七:泛型 Typescript 中的接口 接口的作用:在面向对象的编程中…
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescript 学习笔记二:数据类型 Typescript 学习笔记三:函数 Typescript 学习笔记四:回忆Es5 中的类 Typescript 学习笔记五:类 Typescript 学习笔记六:接口 Typescript 学习笔记七:泛型 函数的定义 ES5 函数定义:函数声明.匿名函数.传参 //…
前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitbook 若是有不对的地方,欢迎留言指出. 众所周知,JavaScript 是弱类型的,而这对开发人员来说,在一定程度上算是一个"痛点".解决这个问题的两个主要库是 Typescript 和 Flow.但 Typescript 似乎更受欢迎,且越来越受到开发人员的喜爱. 中文网:https:…
关于第二章的学习笔记是变量声明. 接口:TypeScript的核心原则之一是对值所具有的结构进行类型检查. 它有时被称做“鸭式辨型法”或“结构性子类型化”. 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约. 还有一点值得提的是,类型检查器不会去检查属性的顺序,只要相应的属性存在并且类型也是对的就可以  可选属性: 接口里的属性不全都是必需的. 有些是只在某些条件下存在,或者根本不存在. 可选属性在应用“option bags”模式时很常用,即给函数传入的参…
作为一个前端开发者,学习新技术跟紧大趋势是必不可少的.随着2019年TS的大火,我打算利用一个月的时间学习这门语言.接下来的几篇文章是我学习TS的学习笔记,其中也会掺杂一些学习心得.话不多说,先从基础变量类型开始吧! 前言 TS与JS的关系是怎样的? “TypeScript 是 JavaScript 的类型超集,可以编译为原生 JavaScript”.所谓“超集”,就是说 TypeScript 扩展了 JavaScript,只是在 JavaScript 的基础上添加了新特性.因此如果你有Java…
Log4net 学习笔记: 主要是根据apache站点整理的: 原文链接:http://logging.apache.org/log4net/release/sdk/ http://logging.apache.org/log4net/release/config-examples.html Log4net 主要类: Appender 附加,增加 配置附加器有很多种,主要用到的几种: log4net.Appender.AdoNetAppender <记录到数据库配置access,sqlserve…
pytest学习笔记(三)   接着上一篇的内容,这里主要讲下参数化,pytest很好的支持了测试函数中变量的参数化 一.pytest的参数化 1.通过命令行来实现参数化 文档中给了一个简单的例子, test_compute.py 的测试函数如下: # content of test_compute.py def test_compute(param1): assert param1 < 4 在conftest.py中添加两个函数,一个是添加参数,一个是根据参数生成测试 # content of…
JavaScript中的模块 在学习TypeScript的模块之前我们先看看在JavaScript中的模块是如何实现的. 模块的好处 首先我们要了解使用模块的好处都有什么? 模块化.可重用: 封装变量与函数: 下面的示例为使用JavaScript实现的模块: var MyModule = function(name) { //这里定义的都是私有的成员 var myName = name; var age = 25; //这里返回一个对象, 使用 JS 的闭包实现类的效果 return { //这…
使用接口 在前面的笔记中我们知道可以使用Object Type来指定参数的属性,如下: function printLabel(labelledObj: {label: string}) { console.log(labelledObj.label); } var myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); 这种做法也可以通过接口实现: interface LabelledValue { label:…
这篇笔记我们来看看TypeScript中的函数. 函数类型 在JavaScript中存在两种定义函数的方法,如下: //命名函数 function add(x, y) { return x+y; } //匿名函数 var myAdd = function(x, y) { return x+y; }; 在TypeScript中对应的写法如下: function add(x: number, y: number): number { return x+y; } var myAdd = functio…
转载自:http://www.w3cplus.com/javascript/calculate-the-max-min-value-from-an-array.html. 取数组中最大值 可以先把思路理一下: 一.将数组中第一个元素赋值给一个变量,并且把这个变量作为最大值: 二.开始遍历数组,从第二个元素开始依次和第一个元素进行比较: 三.如果当前的元素大于当前的最大值,就把当前的元素值赋值给最大值: 四.移动到下一个元素,继续按前面一步操作: 五.当数组元素遍历结束时,这个变量存储的就是最大值…
目录 一.学习TypeScript的缘由 二.学习环境的搭建 1. TypeScript的编译环境 2. vscode自动编译的配置 三.TypeScript中的数据类型 1. 简单变量的定义和初始化 2. 复杂变量的定义和初始化 数组类型 元组类型 枚举类型 3. 其他变量类型 任意类型 undefined类型 void类型 一.学习TypeScript的缘由 当前编写前端的逻辑的主流语言仍是JavaScript,但这个语言由于其弱类型的特性使得它在很多的方面给程序员带来了许多的困扰,例如在使…
先来认识一下Babylonjs,由于基于webgl来开发,所以先介绍一下基础知识. Webgl是一个html标准,他要在canvas元素上初始化. Html页面上的准备 所以我们先从html页面开始看起 我们设置一个canvas,提供给babylon渲染用 然后因为我们用typescript,你可以看到引入的脚本叫app.js,但是在我么的项目里只有app.ts 生成的时候app.ts 会被编译为app.js TypeScript代码 看,熟悉的class,比js的prototype看着舒服吧,…
读取.写入和 Python 在 “探索 Python” 系列以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如tuple.string 和 list.其他文章讨论了 Python 语言的条件和循环特性,以及它们如何与容器数据类型进行协作来简化编程任务.编写程序的最后一个基本步骤就是从文件读取数据和把数据写入文件.阅读完这篇文章之后,可以在自己的 to-do 列表中加上检验这个技能学习效果的任务. 简单输出 贯穿整个系列,一直用 print 语句写入(输出)数据,它默认把表…
Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题:其他文件的读写及编码相关详见专题的博文. open()   close()     with open(...) as ... 看以下示例就能了解 Python 的 open() 及 close() 函数.这边调用 read()方法可以一次读取文件的全部内容,Python把…
认识泛型 TypeScript也实现了类型于C#和Java的泛型以实现类型的参数化,我们先看一个需求: function identity(arg: any): any { return arg; } 我们希望方法identity可以传入任意类型,并且返回传入的类型,这样写可以达到效果但是不能确定返回的类型,使用泛型的写法如下: function identity<T>(arg: T): T { return arg; } var output = identity<string>…
类 在TypeScript中,类似于C#的结构,即一个文件中可以存在多个类,且文件名可以任意取,我们先看一个简单的类的示例. class Person { private name: string; private age: number; public constructor(name:string, age:number) { this.name = name; this.age = age; } public talk() { alert("Hi, my name is " +…
数据类型 我们来看看TypeScript中的基本数据类型都有哪些. boolean 布尔值,支持true和false. var isDone: boolean = false; 默认为undefined,此时其和true与false判断都为false. var isDone: boolean; function run() { alert(isDone == true);//false alert(isDone == false);//false } run(); 所以在使用boolean类型时…
从今天开始学习typescript了,记录ts学习点滴,最后,使用ts结合nodejs开发后端应用,一起共勉吧: typescript最新版本2.6,所有演示代码均基于此版本 开始之前确定安装了如下npm包: npm i typescript -g // ts全局包 npm i ts-node -g // 使用ts-node可以直接运行ts文件 基础类型 布尔类型 let isDone: boolean = false let isExist: boolean = true console.lo…
什么是 TypeScript TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript. 安装 TypeScript 命令行工具安装: npm install -g typescript 编译一个 TypeScript 文件: tsc hello.ts 原始数据类型/ 任意值 为每一个变量提前申明该类型,则该变量取值只能为申明的类型,否则报错 如果一个变量可以任意取值,可以通过any 申明该变量为任意值 原始数据类型包括:布尔值(boolean).数值(…
为了面向ng2和前端未来,开始搞向ts,ts是微软出的一枚语言,作为es6的超集,他出的一些特性还是蛮好用的(略坑).对于我等纯前端(从开始就接触javascript)的人来说,真想说,这特么什么鬼.部分特性同es6(个人对es6还是蛮有好感的).ts同期的coffeescript,将js python化,ts也把js搞的向其他语言靠拢.. 中文学习,这里是英文学习.如果不想看这些东西,那看我笔记学吧.哈哈. ts的基础类型,布尔值,数字,字符串,数组,元组(Tuple),枚举,任意值,空值.后…
装饰器简介 装饰器(Decorators)为我们在类的声明及成员上通过元编程语法添加标注提供了一种方式. 需要注意的是:装饰器是一项实验性特性,在未来的版本中可能会发生改变. 若要启用实验性的装饰器特性,你必须在命令行或tsconfig.json里启用experimentalDecorators编译器选项: { "compilerOptions": { "target": "ES5", "experimentalDecorators&q…
http://www.zouyesheng.com/angular.html 关于AngularJS 关于本文档 开始的例子 依赖注入 作用域 数据绑定与模板 6.1. 数据->模板 6.2. 模板->数据 6.3. 数据->模板->数据->模板 模板 7.1. 定义模板内容 7.2. 内容渲染控制 7.3. 节点控制 7.4. 事件绑定 7.5. 表单控件 模板中的过滤器 8.1. 排序 orderBy 8.2. 过滤列表 filter 8.3. 其它 8.4. 例子:表头…
本篇将介绍TypeScript里的类和接口. 与其他强类型语言类似,TypeScript遵循ECMAScript 2015标准,支持class类型,同时也增加支持interface类型. 一.类(class) 下面是一个类的基本定义方式: class User { name: string; constructor(_name: string) { this.name = _name; } sayHello(): string { return `Hello,${this.name}!`; }…