Challenge - 5 Problems
Satisfies Operator Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediateWhat is the output of this code using satisfies operator?
Consider the following TypeScript code using the
satisfies operator. What will be logged to the console?Typescript
const config = { host: "localhost", port: 8080, secure: false } satisfies { host: string; port: number; secure: boolean }; console.log(config.port);
Attempts:
2 left
💡 Hint
The satisfies operator checks type compatibility but does not change runtime values.
✗ Incorrect
The satisfies operator ensures the object matches the specified type but does not affect the actual value. The code logs the port number 8080.
❓ Predict Output
intermediateWhat error does this code raise?
What error will this TypeScript code produce when using the satisfies operator incorrectly?
Typescript
const user = { name: "Alice", age: "25" } satisfies { name: string; age: number }; console.log(user);
Attempts:
2 left
💡 Hint
Check the type of the age property compared to the expected type.
✗ Incorrect
The satisfies operator enforces that the object matches the type. Here, age is a string but expected to be a number, causing a type error.
🔧 Debug
advancedWhy does this code fail to compile?
This TypeScript code uses the satisfies operator but fails to compile. What is the reason?
Typescript
const settings = { theme: "dark", notifications: true } satisfies { theme: string; notifications: boolean; language: string }; console.log(settings);
Attempts:
2 left
💡 Hint
Check if all required properties in the type are present in the object.
✗ Incorrect
The satisfies operator requires the object to have all properties of the type. 'language' is missing, causing a compile error.
🧠 Conceptual
advancedWhat is the main benefit of the satisfies operator?
Which statement best describes the main benefit of using the
satisfies operator in TypeScript?Attempts:
2 left
💡 Hint
Think about how satisfies affects type checking versus runtime behavior.
✗ Incorrect
The satisfies operator checks that a value matches a type but does not change the value or its runtime behavior.
❓ Predict Output
expertWhat is the type of 'data' after this assignment?
Given the following TypeScript code using the satisfies operator, what is the inferred type of the variable
data?Typescript
const data = { id: 1, name: "Item", tags: ["a", "b"] } satisfies Readonly<{ id: number; name: string; tags: string[] }>; // What is the type of 'data' here?
Attempts:
2 left
💡 Hint
The satisfies operator checks compatibility but does not change the inferred type or readonly status.
✗ Incorrect
The satisfies operator ensures the object matches the type but does not make the variable readonly. The inferred type is the object literal type, not readonly.
