tengo 2 objetos objA y objB
Tengo una función que acepta el valor de objB y la clave de objA.
const objA = { a:"a", b:"b" } const objB = { a:"a", b:"b" } checkValues = (type:string,key:keyof typeof objA)=>{ return objA[key] === type; } checkValues("A",objA.a) Pero obtener el error Argument of type 'string' is not assignable to parameter of type '"a" | "b"'
Al definir su función de esa manera, solo puede verificar las entries del objeto (por lo tanto, 'a' | 'b'), en cambio, llama a la función pasando objA.a que en cambio se refiere al valor de la propiedad a en el objeto.
Lo que puedes hacer es:
//Calling the function and passing only 'a' or 'b' checkValues("A", 'a'); checkValues("A", 'b'); //Declaring object properties with types through the use of interfaces: interface MyObj { a: 'a' | 'b'; b: 'a' | 'b'; } const objA: MyObj = { a:"a", b:"b" } const objB: MyObj = { a:"a", b:"b" }Realmente no ha especificado lo que necesita, así que esto es lo que probablemente haría, espero que ayude