簡體   English   中英

ESLint的“一致回報”規則的價值主張是什么?

[英]What's the value proposition for ESLint's “consistent return” rule?

總是為函數返回值(“undefined”)的值是什么,不需要顯式返回任何內容?

為什么這是一個規則,它捕獲了什么錯誤?


你可以在這里閱讀有關ESLint的“一致回報”規則(回答“什么”,而不是“為什么”)。

您可以閱讀一個推測性的分析,為什么javascript函數在堆棧溢出時隱式返回undefined

有些語言區分功能和程序。 在C-alikes中不是這種情況,但以這種方式設計子程序仍然是個好主意。

短絨不希望你“總是回歸”。 它只是告訴你,如果你設計一個函數 (而不是一個過程 ),它必須返回任何有意義的東西(理想情況下,所有返回的值必須是相同的類型)。

例:

function is_visible(object)

是一個函數,它應該返回一個值(在這種情況下是一個布爾值),並且可以在表達式中使用。 另一方面

function make_visible(object)

是一個過程,它不應該返回任何東西,不能在表達式中使用 - 它總是一個聲明。

這樣的設計(和相關的linter警告)極大地幫助防止這樣的錯誤(取自一些隨機的網頁):

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM