Enums in TypeScript
Here is the typescript file where I have compared enums with types
//Okay now lets do this
//basically when want to have a function, that should only some particular values, and it will be string
//one option is to create a if statment that can handle unknown situations (string)
//other people use in typescript is type
type keyInput = "up" | "down" | "left" | "right";
function doSomething(keyPressed: keyInput){
//do something
if(keyPressed == "up"){
console.log(keyPressed);
}
}
doSomething("up");
doSomething("down");
/*
but what are enums, (they are more human-readable, that why we use, and that will make us understand other
developer code to be much easier and readable)
*/
//here are the enums
enum Direction {
Up,
Down,
Right,
Left
}
function doSomething1(keyPressed: Direction){
//so something
if(keyPressed == Direction.Up){
console.log(Direction.Up);
}
}
doSomething1(Direction.Right);
And here is how the .js file has came up
"use strict";
//Okay now lets do this
//basically when want to have a function, that should only some particular values, and it will be string
//one option is to create a if statment that can handle unknown situations (string)
//other people use in typescript is type
function doSomething(keyPressed) {
//do something
if (keyPressed == "up") {
console.log(keyPressed);
}
}
doSomething("up");
doSomething("down");
/*
but what are enums, (they are more human-readable, that why we use, and that will make us understand other
developer code to be much easier and readable)
*/
//here are the enums
var Direction;
(function (Direction) {
Direction[Direction["Up"] = 0] = "Up";
Direction[Direction["Down"] = 1] = "Down";
Direction[Direction["Right"] = 2] = "Right";
Direction[Direction["Left"] = 3] = "Left";
})(Direction || (Direction = {}));
function doSomething1(keyPressed) {
//so something
if (keyPressed == Direction.Up) {
console.log(Direction.Up);
}
}
doSomething1(Direction.Right);
Hope you understand the difference and go on with your typescript journey.
Thank you
Harsh Chandwani
Software Developer