class使用闭包方式初始化 默认值丢失

//1.创建一个类,有默认值 
class Test2{ 
  name?:string = ‘xiaoming’ 
  sex?:string = ‘male’ 
  age? :number = 20 
} 
//2. 创建一个对象 
let test2 :Test2 = {} 
//3.读取字段name: test.name 此时读取是undefined 而非xiaoming
HarmonyOS
2024-05-10 21:56:37
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
噜啦噜啦嘞噜啦嘞

class如果不支持闭包方式初始化拥有默认值,那支持闭包的意义是什么,这种场景是不是用interface就好了,class老老实实用new对象方式初始化

上述伙伴的问题在ts 中的运行的效果也是一致的;

可以通过以下两种方式创建对象: 
// 通过Object literal 方式创建一个对象 
let test2: Test2 = { 
  name: “zhangsan”, 
  sex: “female”, 
  age: 30 
} 
 
// 通过 new 创建一个对象,有默认值 
let test3: Test2 = new Test2(); 
console.log("test2.name = " + test2.name); 
console.log("test3.name = " + test3.name)
分享
微博
QQ
微信
回复
2024-05-11 11:17:27
相关问题
HarmonyOS 类中属性默认值问题
261浏览 • 1回复 待解决
@Prop 为什么不能提供默认值啊?
2085浏览 • 1回复 待解决
HarmonyOS Component初始化问题
440浏览 • 1回复 待解决
没法调试“已初始化”分支
229浏览 • 1回复 待解决
HarmonyOS 怎么给类的属性赋默认值
825浏览 • 1回复 待解决
初始化安全相机的方法
417浏览 • 1回复 待解决
HarmonyOS 应用RDB初始化示例
416浏览 • 1回复 待解决
rsa 公钥解密初始化报错
285浏览 • 1回复 待解决
关于初始化EGL环境相关问题
730浏览 • 1回复 待解决
如何在ArkTS中使用
583浏览 • 1回复 待解决
如何初始化OceanBase服务器环境?
3684浏览 • 1回复 待解决
是否提供提前初始化webview的能力
2362浏览 • 1回复 待解决