在TypeScript中,防止对可能的空引用执行无效操作是一个重要的安全措施。以下是一些基础概念和相关策略:
null
或undefined
。!
,用于告诉编译器某个值不会是null
或undefined
。TypeError
。?
表示某个属性可能是undefined
。string | null
或number | undefined
。function processUser(user?: User) {
if (user) {
console.log(user.name); // user is guaranteed to be non-null here
} else {
console.log("User not provided");
}
}
function printUserName(user?: User) {
console.log(user!.name); // Asserts that user is not null or undefined
}
function printUserAddress(user?: User) {
console.log(user?.address?.street); // Safe access even if user or address is null/undefined
}
function greetUser(user?: User) {
const userName = user?.name ?? "Guest";
console.log(`Hello, ${userName}!`);
}
function getUserName(user?: User): string {
return (user as User).name; // Asserts that user is of type User
}
null
或undefined
对象的属性。通过这些方法,可以有效地防止对TypeScript中可能的空引用执行无效操作,从而提高代码的可靠性和安全性。
领取专属 10元无门槛券
手把手带您无忧上云