译者按: 试着不用 IF 写代码,是件很有趣的事,而且,万一你领会了什么是“数据即代码,代码即数据”呢?
我在教新手编程时,喜欢给他们一些小小的挑战,比如:不使用IF语句(或者三元运算符、SWITCH语句等)解决一些编程问题。
事实上,它可以迫使你从不同的角度寻找解决方法,也许可以找到更好的方法。
当然,使用IF语句没有任何不对的地方。但是,不使用IF的话,有时候可以增加代码的可读性。这一点并不是绝对的,如果完全不使用IF语句的话,代码可读性也许会更差。这需要你根据不同情况去判断。
而且,不用IF的话不只是影响可读性。在这背后隐含着更加深刻的道理。通过了解本文的代码示例,你可以发现,如果不使用IF语句的话,你的代码会更加接近代码即数据的概念。
另外,当你尝试不使用IF语句去编程时,也是一件非常有意思的事情。
不用IF时,我们巧妙地利用了奇数与偶数的特性,它们除以2的余数分别是0和1。
给定一个日期(比如NEW DATE()),判断它是工作日还是周末,分别返回”WEEKEND”和”WEEKDAY”。
你是否发现IF语句中其实隐含着一些信息呢?它告诉我们哪一天是周末,哪一天是工作日。因此,要去掉IF语句的话,我们只需要把这些信息写入WEEKENDORWEEKDAY.LABELS对象,然后直接使用它就好了。
广告: 如果你需要监控线上JAVASCRIPT代码的错误的话,欢迎免费使用FUNDEBUG!
写一个DOUBLER函数,它会根据参数的类型,进行不同的操作:
• 如果参数是数组,则将每一个元素作为参数,调用DOUBLER函数
可知,我将每一种参数类型对应的操作绑定到了DOUBLER.OPERATIONSBYTYPE,这样不需要SWITCH语句,就可以实现DOUBLER函数了。
Copyright © 2023 All Rights Reserved 版权所有 衡水舞蹈社团