
typescript
Prpr_Saber
这个作者很懒,什么都没留下…
展开
-
Typescript | 箭头函数返回值
/* * @Author: AK-12 * @Date: 2018-11-01 20:07:29 * @Last Modified by: AK-12 * @Last Modified time: 2018-11-01 22:00:41 */import IBlock from './IBlock'export default class Block implements I...原创 2018-11-01 21:59:56 · 14678 阅读 · 0 评论 -
Typescript | 给window对象添加全局变量
export {} // 这个必须有,将文件转化为模块declare global { interface Window { test:string }}原创 2019-02-08 15:10:33 · 15564 阅读 · 1 评论 -
Typescript | 装饰器, AOP
先把demo放这里,有时间再来整理。class Node { constructor(public x: number, public y: number) {} @action action() { console.log('...', this) return 'hello aop' }}// 不能用箭头函数function action(ta...原创 2019-01-04 23:11:59 · 1590 阅读 · 0 评论 -
Typescript | 关键字is的作用,判断一个变量属于某个接口|类型
typescript中有一个特殊的关键字,可以用来判断一个变量属于某个接口|类型例如,此时有一个接口Ainterface IAProps { name: string js: any}现在需要判断一个变量是否为该类型定义规则:// 属于接口Alet isAProps = (props: any): props is IAProps => typeof ...原创 2018-12-30 21:03:27 · 23483 阅读 · 2 评论 -
typescript | 解决tsconfig.json提示“ts找不到全局类型Array、Boolean”
{ "compilerOptions": { "allowJs": true, "target": "es5", "lib": [ "dom", "esnext", "es2015.promise" ] }}原因就是在lib数组里的项存在依赖关系。加入"原创 2018-12-25 15:42:50 · 9040 阅读 · 1 评论 -
Typescript | 函数重载overload、构造函数重载
(+1 overload)function foo(x: string): stringfunction foo(x: number, y: number): numberfunction foo(x?, y?): any { if (typeof y !== 'undefined') { return x + y } return x}foo('hello'...原创 2018-12-29 19:51:06 · 7066 阅读 · 0 评论 -
矩阵 | 拷贝二维数组
/** * MatClone * @param mat */export let MatClone = <T>(mat: T[][]): T[][] => mat.map(raw => [...raw])原创 2018-12-28 20:06:01 · 260 阅读 · 0 评论 -
矩阵 | 填充二维数组fill
/** * MatFill * @param value * @param x * @param y */export let MatFill = <T>(value: T, x: number, y: number = x) => Array(y) .fill(0) .map(() => Array<T>(x).fill(va...原创 2018-12-28 18:59:13 · 1422 阅读 · 0 评论 -
ts发布订阅模式 | 实现
即所谓的事件派发(EventDispatch)。事件派发者EventDispatcher的任务就是调度中心,类似电话交换机,接受信号,然后转发给目标。事件派发者EventDispatcher通常提供三个方法1. 保存收听者 addEventListenerEventDispatcher.getInstance().addEventListener('event1', messag...原创 2018-12-23 14:16:53 · 1556 阅读 · 0 评论 -
ts单例模式 | 预加载和懒加载
单例模式是针对类的一种设计,让类只能有一个实例对象,对于一些没必要产生第二个实例的类来说建议设计成单例类。单例类的实例化过程是由自身实现的,减少了其他人使用该类时的心智负担。缺点是单例类由于静态属性,无法扩展。 由于单例类的实例化过程是由自身实现的,所以设计的时候在new这里就会产生两种方法。1. 预加载单例/** *Singleton_quick * * @expor...原创 2018-12-23 13:53:35 · 3239 阅读 · 0 评论 -
vscode | ts中启用es6,es7语法,启用promise、装饰器
在tsconfig.json的compilerOptions里,有一项配置是lib,可以指定需要的类型数据{ "compilerOptions": { "outDir": "./dist/", "outFile": "./dist/index.js", "module": "amd", "target": &原创 2018-12-15 12:40:04 · 4331 阅读 · 1 评论 -
Typescript | ts转换到AMD在浏览器中直接运行
使用ts-node就可以直接运行ts,但是vscode控制台还是不如大chrome的好用呀!所以想办法用最简单的办法让ts间接地跑在浏览器里进行调试!浏览器是不能直接运行ts的,所以需要转换到js。但是js又有一堆不同的规范。。ts可以转换的目标规范有很多,比如es6,commonjs,amd等等。但是转换到es6时,会有浏览器无法兼容的import关键字,还要再用厚重的babel转。...原创 2018-12-06 23:40:29 · 5767 阅读 · 0 评论 -
typescript | 命名空间与导包,编译器链接多文件reference | ts-node使用
多文件导包,类似C#首先定义命名空间,在main文件中,使用import导入(using)命名空间。这里需要注意的是,需要给编译器配置链接信息,即include操作。例如:定义命名空间Factory,导出一个函数create// Factory.tsnamespace Factory { export function create<T>(c: { new (...原创 2018-12-02 10:32:29 · 2900 阅读 · 0 评论 -
CocosCreator | 2048使用Typescript实现及原理
查看所有代码请点击 2048-typescript-cocoscreator先放上游戏体验的链接 Saber2pr/2048-typescript-cocoscreator算法来自2048 游戏实现原理算法看链接里就好,里面提供了最最核心的数学原理,就是不知道是哪位大佬想出来的,那位博主看起来也是转的。言归正传,我们该怎么把它做成游戏。先搭建一个这样子的场景中间的正方...原创 2018-11-03 22:29:24 · 3612 阅读 · 0 评论 -
ts-node | ts-node添加node启动参数(--experimental-worker)
例如:node --experimental-worker node_modules/ts-node/dist/bin不要默认env头,手动node执行bin,需要注意node不会去node_modules里找scripts原创 2019-06-08 10:58:52 · 3793 阅读 · 0 评论