TYPESCRIPT - 技术教程文章

typeScript与JavaScript 数据类型【代码】

JS 数据类型 JS数据类型:JS的基本类型和引用类型有哪些呢? 基本类型(单类型):除Object。 String、Number、boolean、null、undefined symbol、bigInt 引用类型:object。里面包含的 function、Array、Date。 ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。 谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。(但是很多人不把这个...

javascript – TypeScript – 从对象创建联合【代码】

我正在使用typescript创建一个EventEmitter,我无法找到一种方法来执行以下操作: 说我有这样的界面:interface EventEmitterSubscription { dispose(): void }// here it is interface EventEmitter<T extends { [key: string]: any }> {onAnyEvent(callback: (event: { type: ???, payload: ??? }) => void): EventEmitterSubscription// ... }我找不到一种方法来输入onAnyEvent回调,例如,对于像这样的eventEmitter:EventEmitter...

Typescript声明变量

本篇文章主要给大家介绍关于typescript声明变量的相关知识,希望对需要的朋友有所帮助!变量:变量是内存中可以存储一些数据/值的指定位置。根据变量这个词,可以说变量的值是可以改变的。在声明变量时,必须遵循一些规则:变量名称可以包含大写字母以及小写字母和数字字母。变量名不能以数字开头。我们只能使用_和$特殊字符,除了这些其他特殊字符是不允许的。变量声明:我们可以通过多种方式声明变量,如下所示:var Identifier:...

PHP的混合类型与Typescript的任何【代码】

我在自定义函数中尝试PHP的混合类型,但这个错误让我感到难过(标点符号是我的):TypeError: Argument 1 passed to <functionName>() must be an instance of mixed, string given.下面的一些(示例)代码导致错误消息,并说明了我希望实现的目标.下面是一些TLDR的进一步解释.但basicall我看到混合作为一些PHP的本机函数(例如is_string函数)的参数类型,并希望在自定义函数中执行相同操作. 如何明确指定函数参数是multitype / mixed / an...

javascript – Angular2 / Typescript / ngRx – TypeError:无法分配给对象的只读属性【代码】

在构造函数中,我做了类似的事情selectedDate: Object; // construtor this.selectedDate = {}; this.selectedDate['date'] = new Date(); this.selectedDate['pristine'] = new Date();在按钮单击调用的另一个函数中,我执行以下操作:this.selectedDate['date'] = new Date(this.selectedDate['pristine']);我收到以下错误:TypeError: Cannot assign to read only property ‘date’ of object ‘[object Object]’解决方法:致Rya...

javascript – Typescript中这部分代码的重点是什么?【代码】

我正在阅读Typescript的手册,我注意到(对我而言)代码部分毫无意义.有人可以解释一下这个的目的是什么? 取自docs:class Greeter {static standardGreeting = "Hello, there";greeting: string;greet() {if (this.greeting) {return "Hello, " + this.greeting;}else {return Greeter.standardGreeting;}} }var greeter1: Greeter; greeter1 = new Greeter(); alert(greeter1.greet());var greeterMaker: typeof Greeter = Greeter...

TypeScript中将函数中的局部变量“导出”的方法【代码】

首先是在模块a.js中声明一个可导出(export)的数据结构,例如: export class ModelInfo{id: string;name:string;}其次是在模块b中声明可导出的函数,该函数中有模块a的modelInfo类型参数. 函数体中对modelinfo对象进行赋值。 export let funcb(modelinfo:ModelInfo){modelinfo.id = "a";modelinfo.name = "b"; }在模块c中导入模块b中的函数funcb,同时声明一个ModelInfo类型对象,执行模块b的函数。 import {funcb} from "./b";let ...

javascript – Typescript:对象到类【代码】

假设我有一个C类和一个Object O实例(来自JSON).class C {str:string;num:number; }var o = JSON.parse ("{\"num\":123, \"str\":\"abc\"}");有没有办法我可以用o分配/初始化一个C的实例,它检查未定义的值以及在复制构造函数/函数中我自己做的类型? 如果值缺失/未定义或类型不匹配,我想得到错误或异常. 谢谢!解决方法:您可以使用Object.assign:class C {str:string;num:number; } var o = JSON.parse("{\"num\":123, \"str\":\"a...

javascript – 使用Typescript强制接口的泛型约束?【代码】

我有2个接口声明:interface IStore { } interface SomethingElse { a: number;}实现每个的2个类:class AppStoreImplemetion implements IStore { }class SomethingImplementation implements SomethingElse{a: 4;}我希望我的方法被赋予返回类型作为“必须是IStore”的约束,所以我这样做:class Foo {selectSync<T extends IStore>( ): T{return <T>{/* omitted*/ }; // I set the return type(`T`) when invoking} }...

如何解决’属性’宽度’在类型’HTMLElement’上不存在.’当使用// @ ts-check在vscode中键入检查Javascript(NOT Typescript)时?【代码】

在view.js文件中:const canvas = document.getElementById('canvas'); ... export {canvas, }; 在main.js文件中:import * as view from '../src/view.js';...xPosition: view.canvas.width / 2,给我’属性’宽度’在类型’HTMLElement’上不存在.类型检查错误. 我不知道如何继续,我对打字稿没有任何了解,而且程序是用javascript编写的.我读过的所有解决方案都需要使用打字稿,这在本例中没用. 我有什么办法可以摆脱这个错误吗? 编...

JavaScript-Typescript:私人成员突然未定义【代码】

因此,我有一个基本的Typescript应用程序,它实际上不会引起任何重大问题,但看来这里出了点问题,我也不知道是什么. 我的GameContainer类中确实有此私有成员minUpdateRate,该类在构造函数中初始化.这样做似乎很顺利,因为调用GameContainer.start()时,console.log()方法将输出1. 但是,当调用GameContainer.render()方法时,似乎超出了范围之类,log方法在那里输出未定义的内容. 我对TypeScript还是很陌生,对JavaScript也没有那么深入(特别...

【面试题】JavaScript不支持函数重载,但TypeScript是否支持函数重载?【代码】

JavaScript不支持函数重载,但TypeScript是否支持函数重载? 解题思路: 是的,TypeScript支持函数重载。但是它的实现很奇怪,当我们在TypeScript中执行函数重载时,我们只能实现一个带有多个签名的函数。 //带有字符串类型参数的函数 function add(a:string, b:string): string; //带有数字类型参数的函数 function add(a:number, b:number): number; //函数定义 function add(a: any, b:any): any { return a + b; ...

Typescript Interfaces(接口)添加任意key值/内容【代码】

什么是Interfaces 接口类 (抽象方法集合) https://www.runoob.com/typescript/ts-interface.html “接口” Interfaces 是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。 ts 中的 Interfaces(接口)是一个非常灵活的概念,除了可用于对类的部分行为进行抽象,也可以对 对象的形状(shape) 进行描述。 简单的理解...

javascript – TypeScript中的嵌套对象【代码】

如何在TypeScript中声明像嵌套对象的JavaScript?let endpoints = {auth: {login: "http://localhost:8079/auth/login"} };以下不起作用:private endpoints: Object = {auth: {login: "http://localhost:8079/auth/login"} };抛出: 错误TS2339:“对象”类型上不存在属性“auth”.解决方法:您可以使用接口:interface EndpointAuth {login: string; }interface Endpoint {auth: EndpointAuth; }let endpoints: Endpoint = {auth:...

TypeScript:如何导入ES6 JavaScript类?【代码】

我有一个名为DB的ES6 JavaScript类,定义如下:// db.js "use strict";export default class DB {... }还有一个TypeScript文件,如下所示:// surgeons.ts "use strict";import DB from "./db";我希望这可以正常工作,但是会出现以下错误:Browserify Error { [TypeScript error: app/source/common/surgeons.ts(3,16): Error TS2307: Cannot find module './db'.]message: 'app/source/common/surgeons.ts(3,16): Error TS2307: Cann...

javascript – 使用TypeScript进行Jest模拟【代码】

我有这个简单的测试文件:describe('index', () => {it('should bootstrap the app', async () => {const root = <div />;jest.spyOn(ReactDOM, 'render');...ReactDOM.render.mockImplementationOnce(() => {} );...ReactDOM.render.mockRestore();} ); } );我收到以下打字稿错误:“TS2339:属性’mockImplementationOnce’在’Renderer’类型上不存在” 任何人都知道如何使TypeScript识别jest模拟方法?解决方法:您可以使用type...

Vue+Typescript中在Vue上挂载axios使用时报错问题【图】

在vue项目开发过程中,为了方便在各个组件中调用axios,我们通常会在入口文件将axios挂载到vue原型身上,如下: main.ts import Vue from vue import axios from ./utils/http Vue.prototype.$axios = axios;这样的话,我们在各个组件中进行请求时,就可以直接使用this.$axios,但是在ts中使用this.$axios进行请求时,会进行报错,如下所示:从图中我们可以看出ts在Vue身上检测不到$axios。通过 在网上查阅发现:在ts中,不识别vue下...

TypeScript中的数据类型有哪些?(代码示例)【图】

每当创建一个变量时,其目的是为该变量分配一些值,但是可以为该变量分配什么类型的值取决于该变量的数据类型。在typeScript中,type System表示typeScript支持的不同类型的数据类型。数据类型分类如下:内置数据类型:TypeScript有一些预定义的数据类型-内置数据类型关键词描述NumberNumber它用于表示整数和浮点数BooleanBoolean代表真假StringString它用于表示一系列字符VoidVoid通常用于函数返回类型NullNull当对象没有任何值时使...

javascript-从TypeScript中的重写接口自动推断类型【代码】

我正在尝试为已经存在的模块创建一些TypeScript定义.在要实现的特定接口中,签名如下所示:type NextFunction<T> = () => T; type Response = string[] | Promise<string[]>;interface IPage {getBodyClasses(next: NextFunction<Response>): Response; }参数和返回结构是固定的,我非常希望TypeScript能够推断出我的重写方法的参数类型.但是,当我创建覆盖时,我看到该参数隐式具有任何类型.class Page implements IPage {getBodyClas...

在Typescript / JavaScript中展开Promise对象【代码】

我是JavaScript / TypeScript Promise返回类型的新手. 问题是我正在托管一个rest API端点,它在内部调用另一个使用JS Request模块返回Promise对象的服务的API. 我想打开内部API promise响应并创建一个新的普通Typescript对象,最后返回新修改的响应对象而不是Promise. 以下是描述我的问题的示例代码:export class SampleClass {public process(): NewResponse {const newResponse: NewResponse = new NewResponse();// invokeOtherA...

在typescript或javascript中链接箭头函数【代码】

我在“Angular,第二版入门”一书中偶然发现了下面的箭头函数代码.let isPrime: (n: number) => boolean = n => { // body };我想确认这个细分的正确性. >让isPrime =函数名称“isPrime”>(n:数字)=输入参数号“n”> => boolean =用于检查布尔值的箭头函数(放置逻辑的位置)> = n =我没有得到这个部分.这是否意味着如果我把“逻辑在第三步中找到素数”并且是真的,你得到满足我逻辑的“n”?> => {} =我可以在这里放置返回或其他逻...

搭建React+TypeScript项目【代码】

create-react-app构建TypeScript项目 create-react-app my-app --template typescript然后进入项目并启动 cd my-app/ npm run start项目启动成功,浏览器默认打开http://localhost:3000/ 持续更新中......

typescript中函数的详细介绍

本篇文章给大家带来的内容是关于typescript中函数的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。函数的作用自不用多说,下面让我们来看看typescript的世界里的函数的真实面貌吧!函数的基本样子也就是如下:function fnanme(arg1: Type1, arg2: Type2, ...):Type { // 函数体 }函数名 + 参数 + 函数体 + 返回值函数名当然就是合法的标识符,没啥可讲的,重要的是参数和返回值,决定了此函数的形态。...

TypeScriptTypeInnference(类型判断)_javascript技巧

TypeScript 是微软开发的 JavaScript 的超集,TypeScript兼容JavaScript,可以载入JavaScript代码然后运行。TypeScript与JavaScript相比进步的地方 包括:加入注释,让编译器理解所支持的对象和函数,编译器会移除注释,不会增加开销;增加一个完整的类结构,使之更新是传统的面向对象语言。 为什么会有 TypeScript? JavaScript 只是一个脚本语言,并非设计用于开发大型 Web 应用,JavaScript 没有提供类和模块的概念,而 TypeScri...

javascript – 你能在TypeScript接口中定义字符串长度吗?【代码】

我有一个像这样的结构:struct tTest{char foo [1+1];char bar [64]; };在我有的TypesScript中export interface tTest{foo: string;bar: string; }有没有办法将[64]和[1 1]添加到类型中?解决方法:正如评论所说:js / ts不支持char类型,并且没有办法声明数组/字符串长度. 您可以使用setter强制执行此操作:interface tTest {foo: string; }class tTestImplementation implements tTest {private _foo: string;get foo(): string {r...

javascript-使用Typescript,Type Guard和反射来针对类型验证对象【代码】

我试图通过使用ES6,Typescript进行干燥,我创建了一个接口,将其称为具有属性的IUser. >在运行时知道对象是否符合接口的最佳方法是什么?>如何获取错误列表? IDE知道缺少哪些属性,为什么不能呢? 我已经看到了使用反射和其他技术一次测试一个属性的示例.但是必须有一种方法可以轻松地知道一个对象是否实现了所有属性,以及是否实现了所有属性. IK知道某些属性是可选的“?”而且我们知道类型,这应该是可能的!type IUser = {name: st...

javascript – 使用Typescript传递组件中的参数时出错【代码】

当我使用typescript将值参数从App组件传递给App2组件时,它会给出错误Property 'value' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<App2> & Readonly<{ children?: ReactNode; }> & Read...App.tsx的代码是import * as React from "react"; import './App.css';import App2 from './App2';class App extends React.Component<any,any>{public render(){return(<div><h1><App2 value = {5}/></h1></di...

TypeScript中接口详解_javascript技巧

在 TypeScript 中,接口是用作约束作用的,在编译成 JavaScript 的时候,所有的接口都会被擦除掉,因为 JavaScript 中并没有接口这一概念。 先看看一个简单的例子:function printLabel(labelledObj: { label: string }) {console.log(labelledObj.label); }var myObj = { size: 10, label: "Size 10 Object" }; printLabel(myObj);那么在该方法中,labelledObj 的类型就是 {label: string},看上去可能有点复杂,但我们看见看看下...

javascript – 在typescript中为现有类添加方法?【代码】

我正在一个有角度的2 cli项目中工作,我必须创建一个插件的定义,因为它不存在它的类型.这个插件取决于已经自己输入的主库,它可以工作. 无论如何,我有两个文件主要的一个 图书馆类型文件Aexport class A extends B {constructor(...);methodX(): void; }我需要为我的插件添加一个新方法,所以我的课程就像export class A extends B {constructor(...);methodX(): void;methodY(): void;}关键是我需要将其添加到单独的文件中.问题是在没...

javascript – TypeScript:IFrame沙箱属性未定义,DOMSettableTokenList没有构造函数【代码】

我在类型脚本中创建一个iFrame元素:var iFrameElement : HTMLIFrameElement = document.createElement("iframe"); iFrameElement.sandbox.add('allow-forms'); iFrameElement.sandbox.add('allow-scripts'); iFrameElement.sandbox.add('allow-same-origin');但是,sandbox属性未定义,因此add(value:string)此处失败. 我无法弄清楚如何实例化sandbox属性,这里是lib.d.ts中定义的接口:interface HTMLIFrameElement {sandbox: DOM...