TypeScript Function
JavaScript vs. TypeScript
JavaScript ver.
// named function function add(x, y) { return x + y; } // arrow function let add = (x, y) => { return x + y; };
TypeScript ver.
// named function function add(x: number, y: number): number { return x + y; } // arrow function let add = (x: number, y: number): number => { return x + y; };
When expressing functions in TypeScript, parameter types and return types must be specified
After writing the type corresponding to each parameter, the return type must be written after the parentheses (assuming type inference is not used)
If the function has no return value,
void
can be used (assuming type inference is not used)let printAnswer = (): void => { console.log('YES'); };
Unlike JavaScript, TypeScript requires passing arguments according to the number of parameters
let greeting = (firstName: string, lastName: string): string => { return `hello, ${firstName} ${lastName}`; }; // Error occurs greeting('coding'); // Works normally greeting('coding', 'kim'); // Error occurs greeting('coding', 'kim', 'hacker');
You can also set the value to be assigned to a parameter when no argument is passed or undefined is passed
This works the same as default parameters in JavaScript
let greeting = (firstName: string, lastName: string = 'kim'): string => { return `hello, ${firstName} ${lastName}`; }; // Works normally greeting('coding'); // Works normally greeting('coding', undefined); // Error occurs greeting('coding', 'kim', 'hacker');
Or if you want optional parameters, you can solve it by adding ? at the end of the parameter name
let greeting = (firstName: string, lastName?: string): string => { return `hello, ${firstName} ${lastName}`; }; // Works normally greeting('coding'); // Works normally greeting('coding', 'kim'); // Error occurs greeting('coding', 'kim', 'hacker');
Last updated