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
按赞同
/
按时间
hflame

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
相关问题
@Prop 为什么不能提供默认值啊?
485浏览 • 1回复 待解决
是否提供提前初始化webview的能力
486浏览 • 1回复 待解决
如何初始化OceanBase服务器环境?
2081浏览 • 1回复 待解决
数据持久方式有哪些?
113浏览 • 1回复 待解决
鸿蒙 | Jar中解析xml文件为空
5724浏览 • 1回复 待解决
提示数据丢失怎么处理?
3363浏览 • 2回复 待解决
OpenHarmony 使用WEB组件传问题
1558浏览 • 1回复 待解决