Así que tengo esta pregunta sobre la convención de nomenclatura del sufijo de signo $ en el código RxJs y Angular específicamente. En la documentación de mejores prácticas angulares y en general, descubrí que deberíamos usarlo al declarar el Observable, pero no lo he visto usarlo con Sujetos. Por qué ? Pensé que debería significar "asincrónico". Además los Sujetos son Observables. Así que son asíncronos y tienes que suscribirte a ellos. Por ahora también comencé a usar $ con Sujetos. ¿Hay alguna estafa real de esta práctica?
Además de lo que han dicho Stoobish y Nipuna, agregaría que también me gusta tener un $
como sufijo para evitar terminar con el mismo nombre de variable cuando trabajo con un valor extraído de una secuencia.
Por ejemplo:
const currentTimeSeconds = currentTimeMs.pipe( map(currentTimeMs => currentTimeMs * 1000) )
En el ejemplo anterior, terminaría con 2 variables llamadas currentTimeMs
. Seguro que todavía funcionaría, pero es más confuso que ayudar. Seguro que también puedes cambiar el nombre de la variable interna a algo diferente. Pero en general me parece mucho más claro tener lo siguiente en su lugar
const currentTimeSeconds$ = currentTimeMs$.pipe( map(currentTimeMs => currentTimeMs * 1000) )
Todo subject
es un observable
.
Si miras documentos angulares:
Esto puede ser útil al escanear el código y buscar valores observables. Además, si desea que una propiedad almacene el valor más reciente de un observable, puede ser conveniente usar el mismo nombre con o sin el "$".
El sufijo del signo $ no significa asincrónico, se usa como una convención suave para indicar que la variable es una secuencia. Es más como un ayudante de nombres para indicar tipos.