TYPESCRIPT - 技术教程文章

typescript和javascript有什么区别【代码】【图】

首先来看一下二者的定义:什么是javascript?JavaScript 是一种轻量级的解释性脚本语言,无需编译,可嵌入到 HTML 页面中,在浏览器端执行,能够实现浏览器端丰富的交互功能,为用户带来流畅多样的用户体验。什么是typescript?TypeScript代码保存在ts文件中,ts文件经过编译之后会生成一个js文件,任何有效的JavaScript代码都可以直接作为TypeScript代码编译,只不过编译过后的代码与原JavaScript代码相同,TypeScript代码编译后则...

TypeScript Handbook 1——基本类型(翻译)【代码】

在编程中我们需要用到的一些简单的数据元素,比如:数值,字符串,结构体,布尔型,等等。如你所愿,在javascript里面的那些数据类型,TypeScript都支持,with a convenient enumeration type thrown in to help things along.(这句暂时没理解好) 布尔型(Boolean)最基本的数据类型是简单的真或假,在javascript和TypeScript(以及其他语言)中定义为‘boolean‘。var isDone: boolean = false; 数值型(Number)和JavaScript一样,在...

typescript-koa-postgresql 实现一个简单的rest风格服务器 —— typescript 开发环境配置【代码】【图】

{2 "compilerOptions": {3 "target": "es2017",4 "outDir": "./dist",5 "module": "commonjs",6 "emitDecoratorMetadata": true,7 "experimentalDecorators": true,8 "lib": [9 "es6" 10 ], 11 "noImplicitAny": false, 12 "sourceMap": false, 13 "allowJs": true 14 }, 15 "include": [ 16 "./src/**/*" 17 ], 18 "exclude": [ 19 "node_modules" 20 ] 21...

typescript调用javascript && URI.js【代码】

URI.jsURI.js是一个用于处理URL的JavaScript库它提供了一个“jQuery风格”的API(Fluent接口,方法链接)来读写所有常规组件和许多便利方法,如.directory()和.authority()本文以URI.js库为例进行讲解链接:http://medialize.github.io/URI.js/https://github.com/medialize/URI.jsts使用js安装URI.jsnpm install urijs配置tsconfig.json{ "compilerOptions": { // 允许调用js "allowJs": true } }使用jsimport * as ...

半天掌握TypeScript,感觉就像写Java【代码】【图】

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。前端那么多酷炫的东西,真是太好玩了。但是,JavaScript是个拦路虎,尤其是熟悉了Java之类的强类型检查语言之后,每次看到js都感觉不爽。作为一个后端,写JavaScript真的是有一种写吐了的感觉。万幸现在有了更好的选择。为什么要学习TypeScript呢?因为它的语法和Java真的很像。有了这个东西,就可以摆脱恼人的JavaScript,拥抱前端的技术栈。TypeScript是Ja...

解决typescript 在 node.js 下使用别名(paths)无效的问题【代码】【图】

背景 纯nodejs环境,直接使用tsc编译nodejs。源码目录是src,编译输出目录为bin。代码结构如下: src utils a.tsb.ts config… bintsconfig.json 在其他深层次目录引用utils或者config下的文件时,总是要写一长串的'../../../../',还需要数数。这显然是不能接受的。用过webpack开发的小伙伴们,想想别名功能,typescript这种成熟框架不可能没有。于是百度一波,得到如下配置: {"baseUrl": "./", "pa...

nodeJS TypeScript undefined null 变量旁边问号?【代码】【图】

https://github.com/smallinsect/MyJS/blob/main/TypeScript/define.ts 1 // a是undefined表示变量未定义,理解为变量不存在。2 // a=null表示变量值为空值,理解为变量存在但没有值。3 4 // 变量a旁边的问号?,表示该字段可有可无5 // 如果变量a没有赋值,这个字段不存在6 // 如果变量a赋值,则这个字段存在7 8 // 变量a旁边没有问号,该字段必须赋值,不赋值,则报错该字段必须赋值。9 10 // 动物 11 interface IAnimal { 12 ...

JavaScript 、TypeScript 中的 Boolean【代码】

boolean 是 JavaScript 中一种有趣的原始数据类型。在TypeScript中,非严格模式下("strictNullChecks": false),它总共允许4个值 true 、false、undefined、null 。 JavaScript 中的 Boolean boolean 可以取值 true 或 false 。 其他类型的值可以是真值或假值,例如 undefined 或 null 。 let b = true if(b) console.log('logged')b = false if(b) console.log('not logged')b = undefined if(b) console.log('not logged')b = ...

typescript编写微信小程序-自定义tab【代码】

配置配置 app.json, 随便创建几个页面{"tabBar": {"custom": true,"color": "#7A7E83","selectedColor": "#3cc51f","borderStyle": "black","backgroundColor": "#ffffff","list": [{"pagePath": "pages/index/index","text": "首页"},{"pagePath": "pages/test/index","text": "test"},{"pagePath": "pages/tab/index","text": "tab"}]},..."usingComponents": {"van-tabbar": "@vant/weapp/tabbar/index","van-tabbar-item": "@v...

TypeScript高级类型与实用程序【代码】【图】

TypeScript高级类型与实用程序 老袁 前端先锋 // 每日前端夜话 第467篇// 正文共:1200 字// 预计阅读时间:10 分钟我们一起来看一下今天的大纲,希望这些高级类型 与实用程序能够帮助大家节省一些开发的时间:“ConstructorParameters Exclude Extract InstanceType NonNullable Parameters Partial Readonly ReadonlyArray Pick Record Required ReturnType1. ConstructorParameters:类构造函数的参数类型的元组 class User {...

TypeScript数据结构与算法(14)基于LinkedList实现的Set【代码】

源码如下:import { DataStruct_LinkedList } from "../04-Linked-List/DataStruct_LinkedList"; import { Interface_Set } from "../Interface_Set";/** * Autor: Created by 李清风 on 2021-01-02. * Desc: 基于链表实现的集合Set,不要求具有可比性 */ export class DataStruct_LinkedList_Set<T> implements Interface_Set<T> {private list: DataStruct_LinkedList<T>;public constructor() {this.list = new DataStruct_Link...

TypeScript数据结构与算法(15)二叉堆的实现-BinaryMaxHeap【代码】

源码如下:import { DataStruct_Array } from "../02-Arrays/DataStruct_Array";//最大二叉堆也需要具有可比较性 type Comparable = {compareTo(that: Comparable): number;equals(that: Comparable): boolean; }//最大二叉堆可比较性的数据类型 export class MaxBH_Data implements Comparable {constructor(private e: any) {}compareTo(that: MaxBH_Data): number {return this.e - that.e;}equals(that: MaxBH_Data): boolean ...

TypeScript数据结构与算法(7)最基础的数据结构-链表队列-LinkedListQueue【代码】

使用链表来实现队列,源码如下:import { Interface_Queue } from "../Interface_Queue";class Node<T>{public e: T;public next: Node<T>;public constructor(e: T, next: Node<T>) {this.e = e;this.next = next;}}/** * Autor: Created by 李清风 on 2020-12-19. * Desc: 链表队列,关键词:从head端删除元素,从tail端插入元素 */ export class DataStruct_LinkedListQueue<T> implements Interface_Queue<T> {private head: N...

在微信小程序开发中使用Typescript【图】

Typescript的优势咱不需要赘述太多,有兴趣可以参考(https://www.typescriptlang.org/)。今天给大家分享一下如何在微信小程序(或者其他同类小程序)开发中使用Typescript。 这个分两种情况,最简单的做法就是在创建项目时,选择Typescript这个选项,如下图所示。但要注意,这个选项只有在选择"Use no cloud service"才有,而另外一种Mini Program Cloud Base则不支持。这个可能是开发工具还没有跟上吧,希望以后默认也能选择。那...

TypeScript 与 JavaScript 的区别

TypeScriptJavaScriptJavaScript 的超集用于解决大型项目的代码复杂性 一种脚本语言,用于创建动态网页可以在编译期间发现并纠正错误 作为一种解释型语言,只能在运行时发现错误强类型,支持静态和动态类型 弱类型,没有静态类型选项最终被编译成 JavaScript 代码,使浏览器可以理解 可以直接在浏览器中使用支持模块、泛型和接口 不支持模块,泛型或接口社区的支持仍在增长,而且还不是很大 大量的社区支持以及大量文档和解决问题的...

ECMAScript和JavaScript及TypeScript【代码】

文章内容输出来源:拉勾教育大前端训练营 ECMAScript - 浏览器中的javascript指的是ES + Web提供的Api(dom bom) - node环境中javascript指的是ES + node提供的Api作用域 全局作用域(公共作用域) 1. 在全局作用域中的函数,变量都是公用的.所有相同的变量名称重复命名都会冲突导致报错 2. 函数内部直接赋值变量会把变量提升为全局变量var a = 3 function a() {a = 2;console.log('func a') } console.log(a())//TypeError: a is n...

在Asp.net core程序中集成typescript【代码】【图】

今天试了下在Asp.net core中集成typescript,发现vs2019对typescript集成的支持还是非常友好的。本文在这里简单的介绍一下。 由于typescript文件是编译为js后作为静态文件发布的,因此首先需要启用静态文件浏览: ????app.UseStaticFiles();在WWWRoot文件夹下添加ts文件:此时VS会提示安装Microsoft.TypeScript.MSBuild Nuget包,根据向导安装即可。编辑TypeScript文件,可以看到生成了相应的js文件。新建html文件,引入生成的js文...

Typescript node starter 2.Router Middleware【代码】

Router 路由器对象是中间件和路由的一个独立实例。可以将它视为一个“迷你应用程序”,仅能够执行中间件和路由功能。每个Express应用程序都有一个内置的应用程序路由器。 路由器的行为类似于中间件本身,因此可以将它用作app.use()的参数或另一个路由器的use()方法的参数。 顶级express对象有一个Router()方法,该方法创建一个新的Router对象。 一旦创建了路由器对象,就可以像app一样向其添加中间件和HTTP方法路由(如get、put、po...

Java收入不再最低,Python被TypeScript击败,开发者调查报告出炉【图】

机器之心报道参与:魔王、杜伟Stack Overflow 2020 年度全球开发者调查报告出炉。报告显示,JavaScript 连续八年成为最常用的编程语言,而在最受开发者喜爱的编程语言榜单中,Python 排名第三,较去年下降一位,被 TypeScript 超越。另一值得关注的结果是,Java 语言的薪酬收入不再是最低了。 近日,Stack Overflow 发布了 2020 年度全球开发者报告。这是 Stack Overflow 发布的第十次年度开发者调查结果,在今年 2 月份有将近 650...

创建Node.js TypeScript后端项目 demo

egret-protobuf 创建Node.js TypeScript后端项目,里面包含了protobuf版本3、egret项目、前后端WebSocket。 1、安装Node.js扩展,支持TypeScript语法 npm install -g typescript 2、创建项目目录project_folder,为项目的*.ts添加API代码提示mkdir project_foldercd project_folder 3、跳转到项目的目录下,创建Node.js TypeScript项目cd project_folder npm init 4、在项目的目录下,创建TypeScript项目配制文件,使用tsc --init,...

从nodejs,es6,typescript方面去弄清楚exports,require,export,import,export=【代码】【图】

nodejs中的module.exports 与 require list.jsexports.f = function(f){} module.exports.hello = "hello"console.log(module)index.jsconst a = require(./list) console.log(a)结果: Module {id: D:\\DEV\\nodejs\\list.js,exports: { f: [Function], hello: hello },parent:Module {id: .,exports: {},parent: null,filename: D:\\DEV\\nodejs\\index.js,loaded: false,children: [ [Circular] ],paths:[ D:\\DEV\\nodejs\\nod...

javascript typescript

Javascript 逻辑运算符 与 短路计算 ? ?https://www.cnblogs.com/zztt/articles/4689542.html ? https://blog.csdn.net/sinat_30443713/article/details/78657631 ? typescript ?:可选参数 ? 优先级 https://www.jianshu.com/p/60c5d993b976

[CLI] Create a Hybrid Single-Multi Command Node.js CLI with Oclif and TypeScript【代码】【图】

Sometimes you still want to support the API and quick developer experience of a single command, while still supporting multi commands in your CLI. This is handy when, for example, you want your user to do something useful with just npx mycli. Heres a quick hack that lets you do that, while also deepening your understanding of how your CLI works with TypeScript, Node.js and Oclif under the hood. ...

electron 7 typescript @types/node v13 问题

如果运行v13 版本的node types 会发现有如下错误 错误信息node_modules/electron/electron.d.ts:7145:33 - error TS2689: Cannot extend an interface NodeJS.EventEmitter. Did you mean implements?原因 当前electron 7 不支持@types/node 13 版本的 解决方法 使用12 版本的比较好命令 yarn add @types/node@12.12.6 --dev参考 https://github.com/electron/electron/issues/21612 https://electronjs.org/blog/electron-7-0

利用typescript开发微信小程序编译时报错,真机测试无法生成二维码的问题汇总【图】

本文档是用Typescript通过微信开发者工具开发微信小程序时遇到的问题! 首先展示一下我这边遇到的问题的提示与编译错误信息:从以上伟大的提示中我实在是没看出什么有建设性的提示。 于是我开始漫长的探索之路,总结可能导致此问题发生的情况有以下几点: 1、import 进来的对象没有使用过!定义的变量没有被使用过! 2、多个page引入getApp<IAppOption>()时使用的变量名重复!可以使用一个ts文件引入,然后其他page通过import的方...

微信小程序框架部署:mpvue+typescript【代码】【图】

开发前提: 1、在微信公众平台注册申请 AppID 2、安装开发者工具https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 框架部署: 1、vue-cli 创建 mpvue,参考 http://mpvue.com/mpvue/quickstart.html 2、配置 Typescript# 安装 vue 与装饰器,mpvue-loader目前支持用TypeScript来写,功能还在完善中(WIP)。需要搭 配vue-property-decorator来使用。 $ npm install --save vue vue-property-decor...

Javascript-如何使用泛型在Java类文字的TypeScript模拟中制作?【代码】

我需要使用TypeScript中的泛型来模拟Java类文字. 这是我的班级课:class Class<T> {public getName(): string {return ...;} }这是我创建类文字的尝试.declare global {interface Object {class<T extends object>(this: T): Class<T>;//LINE X} }例如,对于类Foo,我想以这种方式获取文字:Foo.class().但是,在LINE X我有一些错误,因为它返回Class< typeof Foo>而不是Class< Foo>.如何解决?解决方法:由于这是要在类上调用的,因此需...

javascript-如何在Nodejs REPL中使用Typescript类?【代码】

我这样创建了一个foo.ts:class Foo{public echo(){console.log("foo");} }并输出如下所示的javascript代码:var Foo = (function () {function Foo() {}Foo.prototype.echo = function () {console.log("foo");};return Foo; })();我想在nodejs REPL中调用echo函数,但最终会出现如下错误:$node > require('./foo.js'); {} > f = new Foo ReferenceError: Foo is not definedat repl:1:10at REPLServer.self.eval (repl.js:110:21...

javascript-构建nodeJs时出现Typescript错误【代码】

我实际上正在尝试使用nodejs和typescript开发应用程序,而在tsc编译时遇到了问题. 运行代码时出现此错误(似乎无法加载外部模块):[09:20:29] Compiling TypeScript files using tsc version 1.5.0 [09:20:30] Compiling TypeScript files using tsc version 1.5.0 [09:20:30] [tsc] > F:/SkeletonProject/typings/node/node.d.ts(198,26): error TS2304: Cannot find name 'DataView'. [09:20:30] [tsc] > F:/SkeletonProject/typin...

javascript-使用filter()thisArg编译TypeScript【代码】

我正在使用TypeScript编写的Node中的应用程序正在工作,我想使用filter()来基于属性过滤对象数组.我有一个公共方法(getValidObjects()),该方法接受一个对象(首选),该对象具有我要匹配的属性. 在当前设置中,我利用thisArg将回调中的上下文设置为首选对象.class Sample {_objects:Object[];_preferred:Object;constructor() {this._objects = [{valid: true,label: 'This is valid'},{valid: false,label: 'This is invalid'}];}publi...