- In TypeScript, a literal type allows you to specify that a variable or parameter must have a specific value, rather than just a specific type. It is a type that represents a single value, and that value is treated as the only possible value for that type.
- Literal types are created by using literal values as types, such as string literals, number literals, boolean literals, or even custom literals.
function displayStatus(status: "active" | "inactive") {
console.log(`The status is: ${status}`);
}
displayStatus("active"); // Output: The status is: active
displayStatus("inactive"); // Output: The status is: inactive
displayStatus("pending"); // Error: Argument of type '"pending"' is not assignable to parameter of type '"active" | "inactive"'
- In the above example, the `displayStatus` function accepts a parameter `status` of type "active" | "inactive". This means that the `status` parameter can only have the literal values "active" or "inactive", and no other values are allowed.
- When calling the `displayStatus` function with the literal value `"active"`, the function executes successfully and prints the status as `"active"`. Similarly, when called with the literal value `"inactive"`, the function prints the status as `"inactive"`.
- However, if you try to call the `displayStatus` function with a different literal value like "pending", it will result in a compilation error. This is because the "pending" literal is not assignable to the literal type "active" | "inactive".
- Literal types are particularly useful when you want to narrow down the possible values of a variable or parameter to a specific set of known values. They provide compile-time guarantees by restricting the allowed values, and TypeScript can use this information for type checking and inference.
- You can combine literal types with other TypeScript features like union types, type guards, and pattern matching to create more complex and precise types in your code.
No comments:
Post a Comment