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

"super“关键字无法访问javascript中的父属性

在JavaScript中,"super"关键字用于调用父类的属性或方法。然而,它只能在类的方法中使用,而无法直接访问父属性。

在继承关系中,子类可以通过使用"super"关键字来调用父类的构造函数、静态方法或原型方法。这样可以实现在子类中重写父类方法的同时保留父类方法的功能。

以下是对"super"关键字的一些使用场景和示例:

  1. 调用父类的构造函数:
  2. 调用父类的构造函数:
  3. 调用父类的静态方法:
  4. 调用父类的静态方法:
  5. 调用父类的原型方法:
  6. 调用父类的原型方法:

注意,"super"关键字只能用于继承关系中,如果不是在类的方法中使用,将会抛出语法错误。

针对该问题,腾讯云的云产品中与JavaScript相关的服务是腾讯云云函数(Serverless Cloud Function),该产品支持多种语言,包括JavaScript。您可以使用云函数来编写、部署和运行自己的JavaScript代码,实现灵活的后端逻辑。更多详情请参考腾讯云函数的官方文档:腾讯云云函数

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

相关·内容

对象属性的遍历和super关键字

这是我参与「掘金日新计划 · 12 月更文挑战」的第15天,点击查看活动详情 前言 今天记录一下对象的扩展,下面先简单介绍一下对象属性的遍历和super关键字 属性的遍历 ES6 一共有 5 种方法可以遍历对象的属性...super 关键字 我们知道,this关键字总是指向函数所在的当前对象,ES6 又新增了另一个类似的关键字super,指向当前对象的原型对象。...注意,super关键字表示原型对象时,只能用在对象的方法之中,用在其他地方都会报错。...= { foo: function () { return super.foo } } 上面三种super的用法都会报错,因为对于 JavaScript 引擎来说,这里的super都没有用在对象的方法之中...第一种写法是super用在属性里面,第二种和第三种写法是super用在一个函数里面,然后赋值给foo属性。目前,只有对象方法的简写法可以让 JavaScript 引擎确认,定义的是对象的方法。

56930
  • 【Kotlin】Kotlin 类的继承 三 ( super 关键字使用 | super@ 外部调用父类方法 | 子类选择性调用 父类 接口 方法 super )

    子类重写父类方法 : 如果属性 或 方法被子类重写了 , 那么就需要使用 super 关键字调用父类属性或方法 ; 4 . super 关键字调用需要考虑的情况 : ① 常用情况 : 最常用的情况只使用...super 关键字进行简单调用即可 ; ② 子类内部类调用父类 : 如果想要在子类的内部调用父类的成员和方法 , 需要使用 super@子类名称 调用 ; ③ 子类调用不同父类的同名方法 : 如果子类继承的父类...子类调用父类方法 ( super ) ---- 子类调用父类方法 : 子类中可以通过 super 调用父类的方法 , 包括普通方法 , 和属性访问的 setter 方法 ; 其中的 super 相当于父类对象的引用...子类内部类调用父类方法 ( super@ ) ---- 子类内部类调用父类方法 : 在子类的内部类中 , 如果想要访问父类的方法 , 可以使用 super@子类名称.父类方法() 的形式 , 调用父类的方法...代码示例 : 代码中定义了一个父类 Father , 接口 Build , 父类和接口 都定义了 action 方法 , 子类 Son 继承父类 , 实现 Build 接口 , 子类通过 super 调用父类中的成员或方法

    1.6K10

    Java中 super与 this 关键字的作用

    super关键字: 我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。 this关键字: 指向自己的引用。...注意事项 this和super在调用构造方法时,必须出现在构造方法的第一行 当构造方法中不调用别的构造时,系统会默认调用父类的空参构造,当我们手动调用构造后,系统就不会再调用父类的空参构造了 每个构造方法中只能调用一个...this或super 简单的例子 class Animal { void eat() { System.out.println("animal : eat"); } } class...super.eat(); // super 调用父类方法 } } //调用测试 public class Test { public static void main(String...访问构造方法: this() 调用本类的无参构造 this(参数) 调用本类的有参构造 super() 调用父类的无参构造 super(参数) 调用父类的有参构造 太简单了,代码这里就不写了

    23720

    Java中的两个关键字——super、this

    一、super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 super可用于调用父类中定义的成员方法 super可用于在子类构造器中调用父类的构造器...使用super关键字注意事项: 1、当子类和父类都有同名的属性时,在子类中如果要使用父类的属性 super ....属性 2、 super只能应用在成员方法和构造方法中,不能用在静态方法中(和this是一样的) 3、如果在构造方法中使用必须放在第一行 4、在构造方法中this()和super()不能同时出现 super...在Child类中的第二构造函数里面,虽然没有super关键字出现,但是系统会默认给它一个super();去调用父类中默认的也就是无参的构造方法。...二、this关键字: 1.this关键字-用法一:当类中某个非静态方法的参数名跟类的某个成员变量名相同时,为了避免参数的作用范围覆盖了成员变量的作用范围,必须明确地使用this关键字来指定成员变量 public

    52630

    super关键字和继承中的潜规则

    只要我们稍微理解一下概念,就不会将重载和重写的概念混淆,所以这个问题的出场率确实很莫名其妙。 super 关键字 当子类对父类的方法进行重写以后,父类的方法就不可见了,也可以说是被覆盖了。...其实我们是可以在子类中通过super关键字来调用父类被覆盖的方法的。 super关键字调用 super和this 看了上面的例子,是不是联想到我们曾经学过的this,他们确实有点像,但是也有区别。...this调用自己类中的构造器,而super可以调用父类中的构造器。 super除了调用被子类重写后被隐藏的成员变量和方法,还有一个重要的作用就是调用父类构造器。...在创建子类对象的时候,并没有创建父类对象,但是由于子类继承了父类,内存中不但会划分子类的变量空间,也会将子类的所有父类的成员变量也划分内存空间,所以可以使用super去访问他们。...学了super,我们知道super可以调用父类的属性和方法,假如我们可以定义多个直接父类,那么我们的super在调用的时候就不知道到底调用哪个直接父类了。 只能有一个直接父类 有没有理解的更深点?

    51230

    JavaScript中的with关键字

    原文:http://luopq.com/2016/02/14/js-with-keyword/ 说起js中的with关键字,很多小伙伴们的第一印象可能就是with关键字的作用在于改变作用域,然后最关键的一点是不推荐使用...基本说明 在js高级程序设计中是这样描述with关键字的:with语句的作用是将代码的作用域设置到一个特定的作用域中,基本语法如下: with (expression) statement; 使用with...; var url = location.href; 这几行代码都是访问location对象中的属性,如果使用with关键字的话,可以简化代码如下: with (location){ var qs...with关键字的弊端 前面的基本说明中,我们可以看到with的作用之一是简化代码。但是为什么不推荐使用呢?...1、this关键字 关于this关键字的文章google上面相当多,这里不再赘述,我们只需记住一点:this关键字始终指向调用函数的对象。在这里,foo函数中,this指向的就是obj对象。

    1.4K40

    16 - JavaScript 中的 new 关键字

    原文:https://dev.to/bhagatparwinder/the-new-keyword-in-javascript-45jb 我们之前已经讲过了 JavaScript 中一切皆对象,但对于了解如何创建新对象或者对象的实例也是需要的...Car 对象就像是 myCar 、igorCar、laurenCar 的蓝图或是母体。 当使用 new 关键字时,到底发生了什么? 像上面的例子,Car 叫做构造函数,通过我们定义的属性来构造对象。...当我们使用 new 关键字时,会经历下面四步: 1. 创建一个空对象; 2. 设置空对象的 prototype 属性为构造函数的 prototype 属性; 3....把设置到 this 上的属性和方法都绑定到空对象上; 4. 返回新创建的对象; MDN 对 new[1] 的步骤说明。 了解 new 关键字为何如此重要?...在 JavaScript 中 new 、classes 、objects、this、prototype 是面向对象编程的基础。你可能会听过 OOP或函数式编程,它俩没有好坏之分只是两种不同的编码准则。

    34920

    面试题:Java中this和super关键字的底层实现原理

    p=5028 今天,我们就一起来讨论一个这个网友遇到的面试题,Java 中 this 和 super 关键字的底层实现原理! 众所周知,在 Java 中,this 具有以下含义。...在 Java 中,每当一个对象创建后,Java 虚拟机都会给这个对象分配一个指向自身的引用,也就是 this。同时如果对象是子类对象,则还会有一个 super 引用指向当前对象的父类对象。...如果子类存在与父类同名的方法和成员变量时,要想区别访问父类和自身的变量和方法,需要使用 super 关键字调用父类的方法和属性。 这些在字节码中都有体现。...,在 Codedq 的构造函数中,调用了父类 init 方法。...super 关键字的底层原理就是靠 INVOKESPECIAL 指令。 在 Codedq 的代码中,super 就是靠 INVOKESPECIAL 指令来调用父类方法的。

    1.1K10

    盘点JavaScript中BigIn函数常见的属性

    BigInt("1234567890123456789012345678901234567890"); const bigintFromNumber = BigInt(10); // 与 10n 相同 二、属性...为了避免混淆,在 bigint 中不支持一元加法: let bigint = 1n; alert( +bigint ); // error 应该用 Number() 来将一个 bigint 转换成一个数字类型...布尔运算 当在 if 或其他布尔运算中时,bigint 的行为类似于 number。...例: 在 if 中,bigint 0n 为 false,其他值为 true: if (0n) { // 永远不会执行 } 布尔运算符 例如 ||,&& 和其他运算符,处理 bigint 的方式也类似于...三、总结 本文基于JavaScript基础,介绍了 BigInt 函数,常见的属性,通过 BigInt 函数进行数字运算符的比较。布尔运算等等,通过按案例的分析进行详细的讲解。

    69310

    从TypeScript入手,驾驭HarmonyOS开发的技术风潮!-----------(中篇)

    private 修饰符, 类中的成员如果使用private 来修饰, 外部是无法访问这个成员数据的, 子类中也是无法访问该成员数据的....修饰符, 类中的成员如果使用private 来修饰, 外部是无法访问这个成员数据的, 子类中也是无法访问该成员数据的. // protected 修饰符, 类中的成员如果使用protected来修饰,...console.log(person.name); person.sayHi('赵丽颖') })() private 修饰符 外部无法访问类中的私有属性 子类中也无法访问类中的私有属性...protected 修饰符 外部无法访问类中的私有属性 子类中可以访问类中的私有属性 readonly修饰符 readonly 是一个关键字....对类中的属性成员进行修饰,修饰后,该属性成员,就无法在外部被随意修改了. // readonly 修饰符: readonly 是一个关键字.

    17410

    TypeScript 的高级特性

    ,而在使用 TypeScript 开发时,大部分代码都是写在类里面的使用class关键字 + 类名即可完成 类的声明,可以在类里面指定属性和方法,声明一个类之后,我们就可以通过new关键字进行实例化在声明一个类的时候...extends 关键字来声明一种继承的关系,即当一个类继承另一个类时,它就拥有继承类的所有属性和方法,我们还可以在新声明类里指定新的属性及方法除了extend关键字外,类的继承还有一个super关键词...,这里的super有两个用法,一个是调父类的构造函数,这里有个硬性规定是子类的构造函数必须调用一下父类的构造函数,第二个用法是,用来调父类的其他方法,通过super.进行调用泛型泛型(generic)指的是参数化的类型...)是用来建立某种代码约定,使得其他开发者在调用某个方法或创建新的类时必须遵循接口所定义的代码约定,JavaScript 里是没有接口这一概念的,而 TypeScript 中提供了两个关键字来支撑接口这个特性使用...interface关键字 + 接口名即可声明一个接口,接口有两种使用方式,一种是作为一个方法的参数类型声明,使用这种方式时,JavaScript 会检查传入参数是否满足接口声明的所有属性,第二种用法是,

    1.1K40

    《现代Javascript高级教程》面向对象之Class

    Class是一种特殊的函数,通过Class关键字定义。Class中可以定义构造函数、属性和方法等。...3.2 属性 在Class中可以定义各种属性。属性可以直接定义在Class的内部,也可以在构造函数中通过this关键字进行定义。...通过super关键字调用父类的构造函数,确保父类的属性被正确初始化。子类可以新增或覆盖父类的方法。...类的私有属性和方法 在ES6中,可以使用#作为前缀来定义私有属性和方法。私有属性和方法只能在类的内部被访问,外部无法访问。...类的继承 继承是面向对象编程中的重要概念之一,它允许我们创建一个基类(父类),其他类可以继承该基类并扩展或覆盖其中的属性和方法。ES6中使用extends关键字实现类的继承。

    22520

    JavaScript移除对象中不必要的属性

    业务开发中,我们经常会遇到:基于后端返回接口数据,前端保存到对象 Object 中,前端开发过程中为了一些场景的便利性,需要在该对象中增加相应的属性,但这些属性对于后端没有意义,保存提交时希望删除掉。...原数据中的相关属性也会删除掉。...对于保留属性个数少,该方式处理简单且易懂;保留属性过多的场景会比较复杂。...对于保留属性个数多,该方式处理简单且易懂;保留属性过少的场景会比较复杂。 总结 实际使用中,强烈建议方式二来操作,不要影响原数据。...$set(this.person, 'address', 'xxx') } } 执行 delete 操作,js 对象属性剔除掉了,但页面没有及时响应,可以使用 vue 中的 this.

    1.8K10
    领券