Operator ?
w TypeScript jest używany do definiowania wartości opcjonalnych, zarówno dla parametrów funkcji, jak i właściwości obiektów. Gdy ?
jest użyte przy właściwości obiektu lub parametrze funkcji, oznacza to, że ta wartość jest opcjonalna i może być pominięta.
Przykład:
interface Person { name: string; age?: number; } const john: Person = { name: 'John' }; // Właściwość 'age' jest opcjonalna.
Operator ?
może być także używany do obsługi typu null
lub undefined
w wyrażeniach.
let value: string | undefined; let result = value?.length; // Bezpieczny dostęp do 'length', nawet jeśli value jest undefined.
W powyższym przykładzie, ?.
jest tzw. optional chaining, co umożliwia bezpieczne uzyskiwanie dostępu do właściwości obiektów bez obawy o błąd, jeśli obiekt jest null
lub undefined
.