Skip to main content

type aliases implementing your own type in typescript

 type aliases or your own type is one of the most important part of typescript see how you can implement type aliases in typescript using type .

link->https://stackblitz.com/edit/typescript-7barjt

//creating your own type or type alias in typescript is very easy for example


//direction type what only allowed dirction values
export type Direction="north"|"south"|"east"|"west";
//strArray allowed only string and array where array is number of boolean type
export type strArray=string|Array<number|boolean>;
//an interfacce type---------
export type userdd=userDD;

interface userDD
{
userDirection:Direction
username:string
}
class human
{
private direction:Direction;
private myarray:strArray;
private newuser:userdd;
constructor()
{
/*
myarray is string and array type where Array is number or boolean
type so any other value in myarray not allowed
*/
//not allowed
//this.myarray=["manish"]

//allowrd
this.myarray=[true,false];
//newuser is userDD type so both below value allowed because
username is string type and userDirection is direction type
this.newuser={
username:"manish",
userDirection:"east"
}
}
public setDirection(_direction:Direction)
{
this.direction=_direction;
}
public getDirection()
{
return this.direction;
}
public moveMe()
{
switch(this.direction)
{
case "north":
console.log("move north")
break;
case "south":
console.log("move south")
break;
case "east":
console.log("move east")
break;
case "west":
console.log("move west")
break;
}
}
}
//check your type
var h=new human();
h.setDirection("north")//move human to north direction
h.moveMe();

Comments

Popular posts from this blog

Better Memory management with PixiJS or How to manage cpu and cpu memory in PixiJS.

PixiJS is my favorite framework when i am looking for a web games specially for mobile or desktop  PixiJS is fast blazing fast and you can get a decent FPS even on older device.   so here is my optimization techniques for PixiJs 1. manage your sprites in a better way use spritesheet to reduce the draw calls create big sprite sheet which contain multiple sprites can be draw in gpu with a single draw call. use TexturePacker  https://www.codeandweb.com/texturepacker  best tool when its comes to spritesheet 2. for floating point calculation round off calculation for example let  speed = 0.75 ; let  position = 100 ; console . log ( Math . round ( speed * position )) 3. don't create very big canvas when u need a big canvas size game just try to create a small canvas and translate it. 4. its very important one managing TextureCache in memory you can get all TextureCache list by using  Object.entries(PIXI.utils.TextureCache); so even you use ap...

adding particles Effect in pixijs using https://pixijs.io/pixi-particles-editor/

adding particle in pixijs is very easy using the below tool more information can be found below https://github.com/pixijs/pixi-particles https://pixijs.io/pixi-particles-editor/ required packages  /// < reference path = "node_modules/pixi-particles/ambient.d.ts" /> import 'pixi-particles' code of particle delcare a     global variable   private emitter ?: Emitter ; const img = PIXI . Texture . from ( "./assets/images/particle.png" ); this . emitter = new Emitter ( this ,[ img ],{ "alpha" : { "start" : 0.62 , "end" : 0.39 }, "scale" : { "start" : 0.1 , "end" : 0.9 , "minimumScaleMultiplier" : 1.25 }, "color" : { "start" : "#ffff8f" , "end" : ...