1,在原型上赋值,这个概念是前端的。在前端,所有的数据,包括对象,数组,基本类型,这些都有自己的原型,原型还有自己的原型(Object的原型),Object的原型是最顶级的原型。前端的数据都有自己的原型,也就支持在原型上赋值。这个在HarmonyOS NEXT 版本之前是支持的,但是到了HarmonyOS NEXT 版本就不支持了。
例如在TS中:
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;
}
}
原文作者:;如有侵权,请联系管理员删除。