const employee = {name: 'Eric',equipmentTraining: '',} if (!employee.equipmentTraining) {console.log('Not authorized to operate machinery');}
14. 通过继承共享方法继承涉及在类之间共享属性或方法 。下面的示例中使用super标签实现继承,允许FlashCoupon中的构造函数访问Coupon中的父构造函数 。只需定义一次方法(在父类中),即可增强代码的可读性 。代码也变得更加模块化,因为继承器类可以专门用于给定任务 。
注意,顶部的代码框建立了父类Coupon,其属性和方法共享到FlashCoupon,如FlashCoupon在其最后一行调用getExpirationMessage方法时看到的那样 。
class Coupon {constructor(price, expiration) {this.price = price;this.expiration = expiration || 'Two Weeks';}getExpirationMessage() {return `This offer expires in ${this.expiration}`;}}export default Coupon;
import Coupon from './extend'; class FlashCoupon extends Coupon {constructor(price, expiration) {super(price);this.expiration = expiration || 'two hours';}} const flash = new FlashCoupon(10);console.log(flash.getExpirationMessage());
15. 使用数组方法编写较短的循环最后一个小贴士,我们将深入探讨数组优化的复杂性 。循环是创建和填充数组的常用方法 。但是,循环会导致代码杂乱且难以阅读 。
因此,我们可以使用数组方法来实现类似的效果,例如for只需若干代码行即可循环 。以下面的for循环为例 。
const prices = ['1.0', 'negotiable', '2.15']; const formattedPrices = [];for (let i = 0; i < prices.length; i++) {const price = parseFloat(prices[i]);if (price) {formattedPrices.push(price);}}console.log(formattedPrices);
我们可以通过三行map方法实现与上面代码相同的效果 。此方法创建了一个大小相等的数组,只有price属性 。然后使用parseFloat获取价格的浮点值 。
const prices = ['1.0', '2.15'];const formattedPrices = prices.map(price => parseFloat(price));console.log(formattedPrices)
总结对简洁代码的追求是一个持续的旅程,因为最佳实践会随着语言的不断发展而不断改善 。这个过程也是软件开发乐趣的一部分,学习最佳实践有助于开发人员真正掌握编程语言 。大家加油!
推荐阅读
- 你关注的网红博主 可能是“假人”
- 构建一个通用灵活的JavaScript插件系统?看完你也会!
- 五个多屏使用笔记本的注意事项
- 为什么饭店炒的青菜总是脆嫩好吃,教你学会饭店同款炒青菜!
- 青海必点的6大特色美食,真正的青菜之魂,店主都以为你是当地人
- 杨紫邀你共赏春色,她究竟想表达什么呢?
- “抗衰老”的8大行为,泡脚排第6,看完榜首,希望你能坚持
- 大厨教你红烧桂鱼的正确做法,鲜嫩好吃,掌握好这些技巧
- 眉眼之间藏着你的福气,这样做提升你的运气值!
- 明星开演唱会有多赚钱?张韶涵:除非你是周杰伦刘德华,不然赔死