Not a function error on TypeScript object after Casting
Well , wellcome to JS/TS world.
When you cast basically it is just to avoid type "errors" on your IDE in typescript, and to be sure certain attributes exist on the object but not functions...
class Dog {
public name: string = "";
bark(): void {
console.log("whoof whoof");
}
}
let johnny = new Dog();
johnny.name = "johnny";
johnny.bark(); // => Barks ok
let onlyattrs = {
name: "err"
} as Dog;
// onlyattrs.bark(); // => function does not exists
let realDog = new Dog();
realDog = Object.assign(realDog, onlyattrs);
realDog.bark(); // => barks ok
Hope this helps.