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

在Typescript中,如何访问“匿名”类外部的成员

在Typescript中,要访问匿名类外部的成员,可以通过将匿名类赋值给一个变量,然后通过该变量访问成员。

例如:

代码语言:txt
复制
let myClass = class {
  private myProperty: string = "Hello";

  public myMethod(): void {
    console.log(this.myProperty);
  }
};

let instance = new myClass();
instance.myMethod(); // 输出:Hello

在上面的例子中,我们创建了一个匿名类,并将其赋值给变量myClass。然后,我们可以通过myClass变量创建类的实例instance,并访问类的成员。

需要注意的是,由于匿名类没有名称,因此无法在其他地方直接引用该类。只能通过将其赋值给一个变量来间接访问类的成员。

在Typescript中,还可以使用闭包来访问匿名类外部的成员。例如:

代码语言:txt
复制
function createInstance(): any {
  let myProperty: string = "Hello";

  return class {
    public myMethod(): void {
      console.log(myProperty);
    }
  };
}

let myClass = createInstance();
let instance = new myClass();
instance.myMethod(); // 输出:Hello

在上面的例子中,我们定义了一个函数createInstance(),该函数内部定义了一个变量myProperty和一个匿名类。匿名类的方法可以访问createInstance()函数内部的变量myProperty,从而实现了访问匿名类外部成员的目的。

这是Typescript中访问匿名类外部成员的两种常见方法。

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

相关·内容

Java 匿名内部类如何使用外部成员

开发过程,由于习惯原因,我们可能对某种编程语言一些特性习以为常,特别是只用一种语言作为日常开发情况。...现象描述 Java 8 之前,匿名内部类使用外部成员时候,会报错并提示 “Cannot refer to a non-final variable arg inside an inner class...= " + this.val$num); System.out.println("bean name is: " + this.val$bean.name); } } 原来,匿名也会被当作普通处理...因此,基本数据类型变量当然不能修改了,不然就会跟外部变量产生不一致,这样的话变量传递也就变得毫无意义了。...情景对比 但是为什么对于 Kotlin 来说可以匿名内部类中直接修改基本数据类型值呢?

81020

如何访问及调用私有成员及方法

二、新建一个Person,并在里面添加两个成员,一个是name字段,另外一个是Display方法,该方法带有一个“前缀”输入参数prefix,用于加在name字段前面,如下代码所示: class...,如下图所示: using System.Reflection; 四、如何设置及访问name字段?...在这里我们使用反射技术,使用Type反射机制进行访问, 1)公用部分,具体代码如下: Person person = new Person(); Type type = typeof(Person...说明: BindingFlags.NonPublic:搜索非公有方法成员; BindingFlags.Instance:搜索成员实例,包括字段及方法等。 五、如何访问Display私有方法?...六、源代码如下: https://pan.baidu.com/s/1qXVorQ8 七、实际用处,System.Windows.Forms下面有一个,名叫NotifyIcon,其设置Text只能是63

2.5K20

【说站】java两种成员访问

java两种成员访问 1、静态成员 静态成员属于访问时需要访问。 静态成员开放空间是在这类内存首次加载时开放。 2、非静态成员 非静态成员属于对象,访问时需要使用对象。...当对象被实例化时,非静态成员开放空间。 静态方法,非静态成员不能直接访问。 采用非静态方法,可直接访问静态成员。...        Person.sleep();         // 注:         // 访问静态成员, 也可以使用对象来访问, 但是会有警告         // 推荐使用访问静态成员...    } } 以上就是java两种成员访问,有些小伙伴在学习完后,容易把两个知识点进行混淆,其实只要通过是否有关键字修饰就能判断了。...大家学会后可以就成员访问问题进行深入研究。

73030

【C++】继承 ⑩ ( 继承机制 static 静态成员 | 子类访问静态成员方法 )

派生 ) 共享 ; 2、父静态成员访问控制权限改变 继承自 父 静态成员变量 , 仍然遵循 继承 子类 访问控制特性 , public 公有继承 : 父成员 子类 , 访问控制权限...不变 , 共有 和 保护成员 可以子类访问 , 私有成员不可在子类访问 ; 父 public 成员 仍然是 public 成员 ; 父 protected 成员 仍然是 protected...和 保护成员 可以子类访问 , 私有成员不可在子类访问 ; 父 public 成员 变为 子类 protected 成员 ; 父 protected 成员 仍然是 protected...成员 ; 父 private 成员 仍然是 private 成员 ; private 私有继承 : 父成员 子类 , 所有成员访问控制权限 变为 private , 基 所有成员...静态成员不可用 int Parent::c = 10; 之后 , 才能使用 静态成员 , 如果没有外部初始化 , 该静态成员是无法使用 ; 二、完整代码示例 ---- 代码示例 : #include

32110

为什么Java成员变量不能被重写?成员变量Java能够被重写么?不会重写成员变量,而是隐藏成员变量访问隐藏域方法

这篇文章讨论了Java面向对象概念中一个基本概念--Field Hiding(成员变量隐藏) 成员变量Java能够被重写么?...意思就是: 一个,子类成员变量如果和父成员变量同名,那么即使他们类型不一样,只要名字一样。父成员变量都会被隐藏。子类,父成员变量不能被简单用引用来访问。...而是,必须从父引用获得父被隐藏成员变量,一般来说,我们不推荐隐藏成员变量,因为这样会使代码变得难以阅读。...其实,简单来说,就是子类不会去重写覆盖父成员变量,所以成员变量访问不能像方法一样使用多态去访问。...访问隐藏域方法 就是使用父引用类型,那么就可以访问到隐藏域,就像我们例子代码 就是使用类型转换System.out.println(((Super)c1).s); 翻译自http://www.programcreek.com

3.5K40

c++对象和关系_对象只能访问该类私有成员

: 访问修饰符:就是用来设置控制封装这个目标的权限范围,就是可以让那些对象可以去访问这些 权限范围:这个目标可以被哪些对象什么地方可以访问到这个目标的数据 2.访问修饰符类型以及各个含义...任何公有成员可以被外部访问。...只有同一个函数可以访问私有成员。即使是实例也不能访问私有成员。...和内嵌成员,只有派生可以访问该项; Internal访问修饰符:范围:内部,默认,程序集内部可以访问,允许一个将其成员变量和成员函数暴露给当前程序其他函数和对象。...换句话说,带有internal访问修饰符任何成员可以被定义成员所定义应用程序内任何或方法访问

1.6K10

TypeScript 如何导入一个默认导出变量、函数或

TypeScript 如何导入一个默认导出变量、函数或?... TypeScript ,如果要导入一个默认导出变量、函数或,可以使用 import 关键字结合 default 关键字来引用默认导出成员。.../file'; const instance = new CustomClass(); // 创建默认导出实例 需要注意是,默认导出成员没有使用花括号 {} 包裹,而是直接赋值给导入变量名... TypeScript 如何在一个文件同时导出多个变量或函数? TypeScript ,使用 export 关键字来同时导出多个变量或函数。有几种常见方式可以实现这一点。...导入这些导出成员时,可以使用 import 关键字进行引用。 import { variable1, function1, MyClass } from '.

58630

谈谈Python:为什么私有属性可以在外部赋值并访问

Python:为什么私有属性可以在外部赋值并访问?...问题引入 慕课网上学习Python**私有属性**时候,看到了一个同学提问: 将count改为__count,为什么实例变量在外部仍然可以修改__count?这里print p1....太长但还是要看看版: 知识点清单: 1、“伪私有属性” 2、外部动态地创建类属性 问题解决过程: 1、“伪私有属性”概念: python通过加双下划线来设置“私有属性”其实是...所以我们在外部用“属性名”访问私有属性时候,会触发AttributeError,从而实现“私有属性”特性。但通过“名属性名”也可以访问这些属性。...以上这篇谈谈Python:为什么私有属性可以在外部赋值并访问就是小编分享给大家全部内容了,希望能给大家一个参考。

2.8K10

Java Tomcat 如何加载

一、加载 JVM并不是一次性把所有的文件都加载到,而是一步一步,按照需要来加载。 比如JVM启动时,会通过不同加载器加载不同。...当用户自己代码,需要某些额外时,再通过加载机制加载到JVM,并且存放一段时间,便于频繁使用。 因此使用哪种类加载器、什么位置加载都是JVM重要知识。...因此,按照这个过程可以想到,如果同样CLASSPATH指定目录中和自己工作目录存放相同class,会优先加载CLASSPATH目录文件。...三、Tomcat加载 Tomcat加载稍有不同,如下图: ?...而Eclipse外部引用jar包,则相当于放在 WEB-INF/lib 。 因此肯定是 Java文件或者JSP文件编译出class优先加载。

2.4K20

没想到吧,PHP 外部也可以调用私有方法!

一般来说, Class 外部是无法调用私有方法,这也是 Private 字面的意思,但是一些很特殊很特殊情况下,如果需要调用,是否可以呢?其实可以使用反射来实现。...getClosure($object); } return call_user_func_array($callback, $args); } 简单解释一下,首先还是简单判断该方法是否存在,接着获取对象方法放射...,然后判断一下是不是公共方法,如果是公共就正常调用,不是则获取其闭包,最后使用回调方式来调用。...这个函数可以让你调用对象私有或者受保护方法,建议一些特殊情况下才使用。为了方便大家调用,新版 WPJAM Basic 也会集成该函数。----

99530

C++11模板:如何判断是否有指定名称成员变量?

https://blog.csdn.net/10km/article/details/51113805 如何判断中有指定成员函数,网上可以找到不少文章,比如下面这两篇就写得很详细了...《C++11之美》 《C++模板,判断是否存在成员函数,实现差异化操作 》 我现在关心如何判断一个中有成员变量?...成员变量有可能是数组,也可能是其他。...std::is_void::value}; }; 上面这个模板是用来检查是否有名为s成员, 以openclcl_int2向量类型举例,下面是cl_int2定义: /* ---...对于非数组成员变量,去掉std::decay这一层,直接写成 static auto check(_T)->decltype(_T::s); 是完全可以(不论gcc还是vs2015)。

4K10

C++从入门到精通——内部类和匿名

前言 内部类是定义另一个内部,它可以访问外部私有成员匿名是没有名字,通常用于一次性使用简单对象创建,可以直接在需要使用地方定义,并传递给其他方法。...内部类可以使用外部对象直接访问外部成员。内部类定义可以在外部定义或者在外部方法,也可以在外部作用域之外定义。...注意:内部类就是外部友元,参见友元定义,内部类可以通过外部对象参数来访问外部所有成员。但是外部类不是内部类友元。...运行上述代码将输出: Outer data: 10 这个示例展示了内部类如何访问外部私有成员,并且如何使用内部类作为外部一部分来实现更清晰和封装代码结构。...可以实例化为对象:匿名可以声明时进行实例化,就像在堆栈上创建一个对象一样。实例化后,可以使用该对象调用匿名成员方法或访问成员变量。

8710

Web前端面试敲重点知识,14个TypeScript核心基础面试题和答案

10、说说枚举 TypeScript 如何工作 ? 11、什么是参数解构 ?...3、说说数组 TypeScript 如何工作 ?...对象类型可以具有零个或多个可选属性,属性名称之后 image.png 10、说说枚举 TypeScript 如何工作 ?...TypeScript 提供了三个关键字来控制成员可见性 public:您可以 class 外任何地方访问公共成员。默认情况下,所有成员都是公共。...protected:受保护成员仅对包含该成员子类可见。不扩展容器外部代码无法访问受保护成员。 private:私有成员仅在内部可见,没有外部代码可以访问私有成员

11.4K10

初探 TypeScript函数基本类型泛型接口内置对象

我们引用任何一个成员时候都用了 this,他表示我们访问成员 ( Class ):定义一件事情抽象特点,包括他属性和方法 对象( Object ):实例,通过 new 生成...,他必须调用 super() ,他会执行基函数,构造器函数里访问 this 属性前,一定要调用 super() 。...这是 TypeScript 强制执行一条重要规则 共有私有与受保护修饰符 在所有 TypeScript 里,成员都默认为 public 当成员被标记成 private 时,他就不能在声明他外部访问...protected 和 private 修饰符行为很类似,但是有一点不同 protected 成员派生仍然可以访问。...,叫做静态成员标识符 static 抽象 作为其他派生使用,他们一般不会直接被实例化,抽象抽象方法不包含具体实现并且必须在派生实现。

7.2K31

【Java】基础20:比较难懂内部类

据说这是自学Java一大关卡,比较难理解。 什么叫内部类呢? 顾名思义,里面还有一个。 其中在里面的那个就是内部类,在外面的那个就是外部类。 我们知道一个,有成员变量和成员方法。...若是内部类成员变量处,那它就是成员内部类; 若是内部类成员方法内,那它就是局部内部类。 一、成员内部类 代码如下: ? ①内部类可以直接访问外部成员变量,包括私有成员变量。...格式为:外部类名.this.外部成员变量(注意是外部名+this)。 ②内部类访问本类成员变量。 格式为:this.内部类成员变量。 不管是内部类还是外部类,其成员访问都是基于对象访问。...其他是无法访问局部内部类成员内部类,在其他是可以访问,上面也说了两种创建对象格式,但是局部内部类是不可以。 ?...思考有两个问题: 1.如果外部类局部变量和内部类局部变量重名,如何访问外部类局部变量?

27110

【JavaSE专栏65】内部类使用,定义在其他内部

这个示例展示了内部类可以访问外部成员,以及如何创建和使用内部类实例。 内部类分为以下 4 种类型,请同学们认真学习。 成员内部类:定义内部,并且与外部成员级别相同。...类型:内部类可以分为成员内部类、静态内部类、方法内部类和匿名内部类。而普通只有一种类型。 隐藏性:内部类可以被隐藏在外部,对外部其他不可见。...这样可以实现对外部类私有成员访问和操作,增强了内部类功能。 匿名内部类:内部类可以用于创建只需要使用一次,即匿名内部类。...内部类可以访问外部私有成员吗?为什么? 如何外部类以外地方创建内部类实例? 静态内部类和非静态内部类有什么区别? 为什么匿名内部类可以访问外部局部变量,而不需要声明为 final?...如何访问静态内部类和非静态内部类成员变量和方法? 内部类是否可以拥有自己内部类? 什么是内部类作用域? 如何外部创建内部类实例? 内部类和继承关系有什么异同之处?

33220
领券