作为开发人员,您肯定遇到过同样的逻辑,不同的人写出了不一样的代码。
他们中的大多数都有众所周知的解决方案。 今天,俺想谈谈如何来避免过度else语句和嵌套条件。
让我们举个例子:
render() { const personToLookFor = 'Thierry' const [result, loading] = doesPersonExists(personToLookFor) if (!loading) { let message if (result) { message = `${personToLookFor} already exists.` } else { message = `${personToLookFor} doesn't exist.` } return message } else { return 'Loading...' } }
如您所见,嵌套条件和if / else语句很难阅读。 乍一看,您并不真正理解这段代码是什么。 我敢打赌,您之前已经遇到过这种模式。 让我们对其进行一些重构,使其更易于维护!
再来看下一段代码:
render() { const personToLookFor = 'Thierry' const [result, loading] = doesPersonExists(personToLookFor) if (loading) return 'Loading...' let message if (result) { message = `${personToLookFor} already exists.` } else { message = `${personToLookFor} doesn't exist.` } return message }
是不是更清楚了? 我们也可以通过直接在if语句中返回消息来摆脱else语句。
render() { const personToLookFor = 'Thierry' const [result, loading] = doesPersonExists(personToLookFor) if (loading) return 'Loading...' if (result) { return `${personToLookFor} already exists.` } return `${personToLookFor} doesn't exist.` }
希望对大家有所帮助,也希望大家多多支持前端教程网。