繁体   English   中英

如何为 javascript 类属性创建方法?

[英]How to create methods for javascript class properties?

我可能完全误解了课程,但这就是我想要做的。

我有很多不同的颜色,每种颜色都有自己的色调。 每种颜色都由一组 R、G、B 组成。 我希望能够创建新颜色,然后访问不同格式的属性,例如 css rgba。

 class Color { constructor(dark, light, white, id) { this.dark = dark; this.light = light; this.white = white; } rgba(shade, opacity = 1) { return `rgba(${this[shade].join(", ")}, ${opacity})`; } } const pink = new Color( [226, 155, 166], [240, 214, 219], [250, 245, 246] ); //get rgba css string for a shade console.log(pink.rgba("light"));

这行得通,但能够做这样的事情来访问 css rgba 字符串会更主动。 这可能吗?

const rgba = pink.light.rgba();

使用另一个类或对象,并将构造函数参数转换为该类或对象,而不是将字符串分配给this.dark等。

 const makeShade = arr => ({ rgba: (opacity = 1) => `rgba(${arr.join(", ")}, ${opacity})` }); class Color { constructor(dark, light, white, id) { this.dark = makeShade(dark); this.light = makeShade(light); this.white = makeShade(white); } } const pink = new Color( [226, 155, 166], [240, 214, 219], [250, 245, 246] ); //get rgba css string for a shade console.log(pink.light.rgba());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM