首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Typescript构造函数参数。分析错误:意外保留字'public‘

Typescript构造函数参数是指在使用Typescript编写类时,可以在构造函数中定义参数。构造函数是用于创建类的实例的特殊方法,它在类实例化时自动调用。

在Typescript中,构造函数参数可以使用访问修饰符(public、private、protected)来指定参数的可访问性。然而,根据给出的问答内容,出现了错误的地方,即意外保留字'public'。

在Typescript中,'public'是一种访问修饰符,用于指定类成员的可访问性。它用于定义公共成员,可以在类内部和外部访问。然而,在构造函数参数中使用'public'是错误的,因为构造函数参数本身不是类的成员。

正确的构造函数参数的使用示例如下:

代码语言:txt
复制
class MyClass {
  private myProperty: string;

  constructor(public myParameter: string) {
    this.myProperty = myParameter;
  }
}

在上面的示例中,构造函数参数myParameter被指定为public,这意味着它将自动成为类的一个公共成员,并且可以在类内部和外部访问。构造函数参数被用来初始化类的成员变量myProperty

对于错误的部分,即意外保留字'public',应该将其删除或替换为正确的构造函数参数使用方式。

关于Typescript构造函数参数的更多信息,您可以参考腾讯云的相关文档:Typescript构造函数参数

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用 React 和 TypeScript something 编写干净代码的10个必知模式

给 children 提供明确的 props Typescript 反映了 React 如何处理 children props,方法是在 react.d.ts 中为函数组件和类组件将其注释为可选的。...为了防止由于意外设置状态而导致的开发错误: this.state = {} 考虑下面的代码: import React, {Component} from "react"; const initialState...当使用 Typescript 和 React 时,函数组件可以通过两种方式编写: 像一个正常函数一样,如下面的代码: type Props = { message: string }; const Greeting...不要对类组件使用构造函数 有了新的 类属性[5] 提议,就不再需要在 JavaScript 类中使用构造函数了。...使用构造函数涉及调用 super ()和传递 props,这就引入了不必要的样板和复杂性。

1.1K40

TypeScript 官方手册翻译计划【十二】:类

TypeScript 不会分析构造器中调用的方法以检测初始化语句,因为派生类可能会重写这些方法,导致初始化成员失败。...构造器 类的构造器和函数很像,你可以给它的参数添加类型注解,可以使用参数默认值或者是函数重载: class Point { x: number; y: number; // 使用了参数默认值的正常签名...: any) { // TBD } } 类的构造器签名和函数签名只有一点区别: 构造器不能使用类型参数 —— 类型参数属于类声明的部分,稍后我们会进行学习 构造器不能给返回值添加类型注解 —...this 参数TypeScript 的方法或者函数定义中,第一个参数的名字如果是 this,那么它有特殊的含义。...这种语法叫做参数属性,实现方式是在构造参数前面加上 public、private、protected 或者 readonly 等其中一种可见性修饰符作为前缀。

2.6K10

TypeScript 演化史 — 第二章】基于控制流的类型分析 和 只读属性

image.png 基于控制流的类型分析 TypeScript 官网总结了基于控制流的类型分析TypeScript 2.0 实现了对局部变量和参数的控制流类型分析。...使用 TypeScript 2.0,类型检查器会分析语句和表达式所有可能的控制流,在任何指定的位置对声明为联合类型的局部变量或参数产生最可能的具体类型(缩小范围的类型)。...同样由于进行了相同的控制流分析,因此以下函数TypeScript 2.0 也可以正确进行了类型检查: function composeCommand(command: string | string...使用 readonly 标记的属性只能在初始化期间或从同一个类的构造函数中分配,其他情况一律不允许。 来看一个例子。...也就是说,它是类型系统的另一个特性,通过让编译器从 TypeScript 代码库中检查意外的属性分配,帮助你编写正确的代码。

2K10

TypeScript 函数重载

TypeScript 中使用,但当 TypeScript 编译器开启 noImplicitAny 的配置项时,以上代码会提示以下错误信息: Parameter 'x' implicitly has an...但这时 TypeScript 编译器又出现以下错误信息了: Property 'split' does not exist on type 'Combinable'....这时我们就可以利用 TypeScript 提供的函数重载特性。 二、函数重载 函数重载或方法重载是使用相同名称和不同参数数量或类型创建多个方法的一种能力。...之后,可恶的错误消息又消失了,因为这时 result 变量的类型是 string 类型。在 TypeScript 中除了可以重载普通函数之外,我们还可以重载类中的成员方法。...三、构造函数重载 在 TypeScript 类中构造函数是一种特殊的函数,用于构造指定类的对象。

5.7K11

帮助编写异步代码的ESLint规则

首先,如果异步函数抛出错误错误将丢失,不会被新构造的 Promise 拒绝。其次,如果在构造函数内部使用了 await,那么外层的 Promise 可能就没有必要了,可以将其删除。...应将该值传递给resolve,如果发生错误,则调用 reject 并告知错误信息。 该规则不会阻止你在 Promise 构造函数中的嵌套回调内返回值。...忘记处理错误会导致应用程序行为异常。 当函数的第一个参数名为 err 时,就会触发该规则。在大型项目中,经常会发现不同的错误命名方式,如 e 或 error。...; callback(null, result); 该规则可确保你不会意外调用第一个参数为非错误的回调函数。...根据错误优先的回调约定,回调函数的第一个参数应该是错误,如果没有错误,则应该是 null 或 undefined 。 只有当函数名为 cb 或 callback 时,才会触发该规则。

15510

作为JavaScript的“超集”,感受一下TypeScript 的那些黑魔法

▼▼▼ 有些代码无法被推断,或者推断它们可能会导致意外错误。一个很好的例子就是函数参数,如果没有对它们进行注解,那么你将不清楚哪些是有效的。...world'); 因此,如果你没有注解函数参数TypeScript将会认为它是any类型的,并将继续执行。...◆ 明确赋值断言操作符 TypeScript将会对类中未初始化的属性抛出错误。...4 baz: boolean; 5 6// 错误:属性baz没有初始化,也没有在构造器中被赋值 7 constructor() { 8 this.foo...= 42; 9 } 10} 你可以使用明确赋值断言,在属性名后加后缀,来告诉TypeScript你已经在其他地方(不是在构造器中)对它进行了初始化。

1K20

TypeScript 之 More on Functions

构造签名 (Construct Signatures) JavaScript 函数也可以使用 new 操作符调用,当被调用的时候,TypeScript 会认为这是一个构造函数(constructors)...) 在你学习过可选参数函数类型表达式后,你很容易在包含了回调函数函数中,犯下面这种错误: function myForEach(arr: any[], callback: (arg: any, index...会按照这个意思理解并报错,尽管实际上这个错误并无可能: // 冴羽注:最新的 TypeScript 版本中并不会报错 myForEach([1, 2, 3], (a, i) => { console.log...尽可能的使用联合类型替代重载 在函数中声明 this (Declaring this in a Function) TypeScript 会通过代码流分析函数中的 this 会是什么类型,举个例子...在 JavaScript 中,this 是保留字,所以不能当做参数使用。但 TypeScript 可以允许你在函数体内声明 this 的类型。

2K20

Typescript 严格模式有多严格?

Typescript严格模式设置为on时,它将使用strict族下的严格类型规则对项目中的所有文件进行代码验证。规则是: 不允许变量或函数参数具有隐式any类型。...2.noImplicitAny 此规则不允许变量或函数参数具有隐式any类型。...5.strictPropertyInitialization 此规则将验证构造函数内部初始化前后已定义的属性。 必须要确保每个实例的属性都有初始值,可以在构造函数里或者属性定义时赋值。...最有用的解决方案是向username构造函数添加参数,然后将其分配给username属性。...,非严格模式下不会校验参数类型和数量,运行代码时,Typescript和环境(可能是浏览器)都不会引发错误: // Typescript非严格模式 function sum (num1: number,

3K20

Typescript 严格模式有多严格?

Typescript严格模式设置为on时,它将使用strict族下的严格类型规则对项目中的所有文件进行代码验证。规则是: 不允许变量或函数参数具有隐式any类型。...2.noImplicitAny 此规则不允许变量或函数参数具有隐式any类型。...5.strictPropertyInitialization 此规则将验证构造函数内部初始化前后已定义的属性。 必须要确保每个实例的属性都有初始值,可以在构造函数里或者属性定义时赋值。...最有用的解决方案是向username构造函数添加参数,然后将其分配给username属性。...,非严格模式下不会校验参数类型和数量,运行代码时,Typescript和环境(可能是浏览器)都不会引发错误: // Typescript非严格模式 function sum (num1: number,

2K40

TypeScript--deno前置学习

TypeScript语言中的函数参数 TypeScript函数参数是比较灵活的,它不像那些早起出现的传统语言那么死板。...在TypeScript语言中,函数的形参分为:可选形参、默认形参、剩余参数形参等。 (1)有可选参数函数 可选参数,就是我们定义形参的时候,可以定义一个可传可不传的参数。...创建日期对象 日期对象是Date的实例,可以使用构造函数的方法进行创建。并且构造函数中可以传递多种类型的参数。...1.不传递任何参数 构造函数中不传递参数时,Date()构造函数将根据当前日期和时间创建一个Date对象。我们看下面的例子理解一下。...1.构造函数构造函数中可以传一个参数,也可以传递两个参数。一个是字符串描述,另一个是修饰符,比如g是全局修饰符,i是忽略大小写,m是多行模式。

2.6K20

这 6 个 TS 新特性经常用到,用了之后我再也离不开它!

构造函数中直接定义属性 Typescript 中可以通过构造函数参数直接定义属性,我们来先看早期的做法: class Note { public title: string; public...= title } } 它可能看上去不像是有属性的类,但它确实有,利用的是 Typescript 提供的简写形式 — 用构造函数参数直接定义属性。...这个简写语法做了很多: 声明了一个构造函数参数及其类型 声明了一个同名的公共属性 当我们 new 出该类的一个实例时,把该属性初始化为相应的参数值 空值合并 ??...试图在运行时访问私有类字段将导致语法错误。我们也使用浏览器开发工具也检查不了私有类字段。 有了私有类字段,我们终于在JavaScript中得到了真正的隐私。...,在使用函数时,编辑器的智能提示只会提示我们参数类型,丢失了对参数含义的描述。

53220

TypeScript 之 Class(下)

在这个例子中,因为函数通过 obj 被调用,所以 this 的值是 obj 而不是类实例。 这显然不是你所希望的。TypeScript 提供了一些方式缓解或者阻止这种错误。...this 参数(this parameters) 在 TypeScript 方法或者函数的定义中,第一个参数且名字为 this 有特殊的含义。...) TypeScript 提供了特殊的语法,可以把一个构造函数参数转成一个同名同值的类属性。...你可以通过在构造函数参数前添加一个可见性修饰符 public private protected 或者 readonly 来创建参数属性,最后这些类属性字段也会得到这些修饰符: class Params...复制代码 现在 TypeScript 会正确的告诉你,哪一个类构造函数可以被调用,Derived 可以,因为它是具体的,而 Base 是不能的。

90000

TypeScript 4.2 正式发布:更智能的类型别名保留,声明缺失的帮助函数,还有许多破坏性更新

TypeScript 是 JavaScript 的一个扩展,增加了静态类型和类型检查。使用类型,你可以准确声明你的函数接收什么类型参数,返回什么类型结果。...这些没有后缀的剩余元素可以被用来对采用任意数量的前导参数(后面跟几个固定参数)的函数进行建模。...,我们仍然可以通过使用一个带前导剩余元素的元组类型来声明...args剩余参数,来将doStuff声明为一个接收前导参数函数。...它不会阻止你传入其它“具体的”类 / 构造函数——这实际上只是表示没有直接运行构造器的意图,因此传入任何类的类型都是安全的。 这个特性允许我们以一种支持抽象类的方式写 mixin 工厂。...JavaScript 中的类型参数不被解析为类型参数 JavaScript 中已经不允许使用类型参数,但是在 TypeScript 4.2 中,解析器将以更符合规范的形式解析它们。

3.2K20

TypeScript:React、拖拽、实践!

这是我在公众号的第 60 篇原创 意不意外,怎么就直接实践了?这才第二篇呀!这就是我文章的特别之处了。往下看! 1 方法 通过上一篇文章的学习,我们知道,typescript其实是一套约束规则。...从构造函数constructor(props: P, context?: any); 的约束中,我们可以得知,P其实就是react组件中props的约束条件。...如果解析成功,那么TypeScript 就完成了表达式到其声明的解析操作。如果按照函数组件解析失败,那么 TypeScript 会继续尝试以类组件的形式进行解析。如果依旧失败,那么将输出一个错误。...「函数组件」 正如其名,组件被定义成 JavaScript 函数,它的第一个参数是 props 对象。TypeScript 会强制它的「函数执行的」返回值可以赋值给 JSX.Element。...: string}` 如果未指定 JSX.ElementAttributesProperty,那么将使用类元素构造函数或 SFC 调用的第一个参数的类型

2.2K10

Delphi类型和引用

方法分为4种类型,分别是构造、析构、过程和函数。它们分别用 Constructor、 Destructor、 Procedure、Function这4个保留字声明。...注意:重载的方法必须与基类中被继承的方法在参数个数、参数顺序,数据类型上完全匹配,如果 是函数的话,还要求函数的返回类型一致。...您可能已发现,构造的第一行是Inherited Create(Owner),其中Inherited是保留字,Create是基 类的构造名,事实上大多数构造都是这么写的。...注意:面向对象的编程思想其特征之一就是隐藏复杂性,除非您必须把某个成员在不同类之间共享, 一般来说尽量不要把成员声明在类的Public部分,以防止程序意外地不正确地修改了数据。...性的参数类型也必须是可自动操作的,否则将导致错误,可自动操作的类型包括: Byte,Currency,Double,Integer,Single,Smallint,String,TDateTime

2.4K30
领券