簡體   English   中英

如何防止調用任何變量的屬性或方法

[英]How to prevent the call to a property or method on an any variable

經過一番研究,我找不到這個問題的答案:

在具有 typescript 的 NodeJs 項目中,如果我有任何變量,是否有辦法使用 typescript 編譯或 eslint 或其他方法來防止從該變量調用未識別的屬性或方法?

這是一個例子:

let test: any;

console.log( test.unknownProperty ); // Should not pass

沒有 TypeScript 編譯器設置來執行此操作,因為any類型的全部意義在於關閉類型檢查並允許各種可能不安全的操作。 TypeScript 的觀點是你不應該在這種情況下使用any

幸運的是,對於您的用例,有一個@typescript-eslint/no-unsafe-member-access ESLint 規則,其行為如下:

此規則不允許成員訪問類型為any的任何變量。

讓我們測試一下:

let test: any;

console.log(test.unknownProperty); // error!
// -------> ~~~~~~~~~~~~~~~~~~~~
// Unsafe member access .unknownProperty on an `any` value. 

看起來挺好的。

TypeScript ESLint 游樂場鏈接

暫無
暫無

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

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