有没有办法初始化对象文字并同时声明其具有只读属性的接口?
例如
let a = { readonly b: 2, readonly c: 3 }
您可以使用as const
断言:
let a = { b: 2, c: 3 } as const // typed as { readonly b: 2; readonly c: 3; }
a.b = 2 //Cannot assign to 'b' because it is a read-only property.
如果你只希望某些道具是只读的,那是不可能的,你能做的最好的就是使用Object.assign
一部分包含只读属性,另一部分包含可变属性:
let a = Object.assign({ b: 2, c: 3 } as const, {
d: 0
});
a.b = 2 // err
a.d = 1 //ok
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)