• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

170
Views
¿Por qué Record<string, any> es igual a Funciones?

Estaba probando varios tipos de mecanografiados hasta que me encontré con la siguiente situación.

¿Por qué Record<string, any> es igual a Funciones?

 type C = { [key: string]: any } // Record<string, any>; const C0: C = undefined // error const C1: C = null // error const C2: C = 2 // error const C3: C = 'hello world' // error const C4: C = { foo: 'bar' } // ok const C5: C = () => undefined // ok

¿Sin embargo, Records<string, unknown> no puede?

 type B = { [key: string]: unknown } // Record<string, unknown>; const B0: B = undefined // error const B1: B = null // error const B2: B = 2 // error const B3: B = 'hello world' // error const B4: B = { foo: 'bar' } // ok const B5: B = () => undefined // error

patio de juegos mecanografiado

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Record<string, any> tiene un caso especial para asignabilidad y básicamente significa cualquier tipo de objeto. Esto se explica en este número de GitHub

Normalmente, el tipo de origen debe tener una firma de índice si el tipo de destino la tiene, pero para : any realmente no hay nada implícito en esto (todas las propiedades deben coincidir con cualquiera, por definición), así que hicimos [s: string]: any un no-op por razones de asignabilidad. Esto habilitó algunos patrones que antes no funcionaban:

 function doSomething(obj: { [s: string]: any}) { // ... } const obj = { a: 1, b: 2 }; // WAS ERROR: 'obj' lacks index signature doSomething(obj);

Esto crea una capacidad de asignación no deseada en algunos casos, por lo que no aplicamos esta regla a : unknown para que pudiera elegir el comportamiento que deseaba.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error