我注意到,如果我編寫一個只對調用方法的局部變量起作用的方法(不直接與類變量交互),那麼我會得到一個警告,說明該方法可以是靜態的。在JavaScript/TypeScript中,帶有「方法的方法可能是靜態的嗎?
有時,將大塊代碼抽象成單獨的方法是很好的。這在某種程度上是否被認爲是JavaScript/TypeScript中的糟糕做法?
由於我不斷收到這些警告,我想借此機會警察局警員會對我發問,詢問可能引起意見的問題。讓我爲此辯護,說我得到的警告不是意見。他們是明確的警告。這表明存在一個不是意見的答案,至少從決定創建這些警告的人的角度來看。
編輯: 我被要求在這裏提供代碼,以提供一個有效的理由,爲什麼我想這樣做。我個人認爲這不會增加我詢問的問題的清晰度,但這裏是一個在WebStorm中產生警告的方法的例子。
//Change object array in *.content objects to values array
//noinspection JSMethodCanBeStatic
transformData(visibleData) {
const ret: any = {};
ret.headings = visibleData.headings;
ret.checkbox = this.checkBox; //add if the table needs checkboxes
ret.content = [];
for (let i = 0; i < visibleData.content.length; i++) {
ret.content.push(_.values(visibleData.content[i]));
}
return ret;
}
此功能的點是取實例的一個副本,以便不修改實例本身,並創建一個不同的對象,主要是一個值僅陣列,其將被用於在數據綁定模板。我這樣做,所以我的表模板可以重複使用,因爲列的數量不盡相同。
聽起來沒有Angular相關,只有TypeScript。 –
謝謝!我更新了標題,內容和標記 –
你從哪裏得到這些警告?編譯器本身不生成它,也許你的IDE?另外,如果你能顯示你的代碼,這將是有幫助的。 –