ITPub博客

首页 > 数据库 > 数据库开发技术 > HarmonyOS NEXT 版本不支持在原型上赋值

HarmonyOS NEXT 版本不支持在原型上赋值

数据库开发技术 作者:hqvv8dlb 时间:2024-07-05 08:31:20 0 删除 编辑

1,在原型上赋值,这个概念是前端的。在前端,所有的数据,包括对象,数组,基本类型,这些都有自己的原型,原型还有自己的原型(Object的原型),Object的原型是最顶级的原型。前端的数据都有自己的原型,也就支持在原型上赋值。这个在HarmonyOS NEXT 版本之前是支持的,但是到了HarmonyOS NEXT 版本就不支持了。

例如在TS中:

0900086000300134184.20201216095126.86523331460016843504112994983392.png

let C = function(p) {
this.p = p; // 只有在开启noImplicitThis选项时会产生编译时错误
}

C.prototype = {
m() {
console.log(this.p);
}
}

C.prototype.q = function(r: string) {
return this.p == r;
}

2,原因是在HarmonyOS NEXT 版本,ArkTS没有原型的概念,因此不支持在原型上赋值。此特性不符合静态类型的原则。再简单点说就是,定义的对象,数组,基本类型一定要有具体的数据类型或者值,这样就简单明了,不会出现后续添加数据类型或者值混乱感觉。

class C {
p: string = ''
m() {
console.log(this.p);
}
q(r: string) {
return this.p == r;
}
}

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-06-05

  • 博文量
    18
  • 访问量
    2584