[英]Object is possibly 'undefined' typescript
我試圖從一個對象訪問值。 但是我收到以下錯誤。
對象可能是“未定義”打字稿
我的TypeScript代碼:
import { SqlClient } from 'msnodesqlv8';
declare var require: any;
const sql: SqlClient = require('msnodesqlv8');
const connectionString =
'server=.,1433;Database=emps;Trusted_Connection=Yes;Driver={SQL Server Native Client 11.0}';
const query = 'SELECT * FROM [dbo].[sample] WHERE id = 117';
sql.query(connectionString, query, (err, rows) => {
console.log(rows); // this works fine, but when i try to access its value using object key, it fails
console.log(rows[0].Id); // this fails
});
在JavaScript中可以正常工作。 TypeScript的實現方式是什么。
之所以會出現此錯誤,是因為如果rows
數組不包含任何元素,那么rows[0]
將是未定義的。 兩種可能的解決方案:
1)檢查它是否確實有數據,例如
if (rows[0]) {
console.log(rows[0].Id)
}
2)禁用strict
或strictNullChecks
在您選擇tsconfig.json
(詳見這里 )。 這將沉默的錯誤,但你會得到一個運行時錯誤,如果它實際上是不確定的,所以你可能要檢查,而不是,除非你是絕對肯定它會永遠有數據的價值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.