Aquí está el código que estoy revisando...
import { Observable } from 'rxjs/Rx'; // reducer import { playerRegister, PlayerState } from './player'; export function getPlayer$ (state$: Observable<MyAppState>): Observable<PlayerState> { return state$.select(state => state.player); };Sintácticamente, el carácter de dólar ( $ ) no tiene un significado especial en los identificadores de JavaScript .
Sin embargo, a veces se usa por convención para indicar que una variable contiene un Observable o que una función devolverá un Observable .
Esta es una convención de código llamada Notación finlandesa , aparentemente debido al origen del desarrollador al que se le atribuye haberlo usado por primera vez. Se utiliza para indicar el tipo Observable de una variable o función.
La idea es que un Observable generalmente representa una secuencia de múltiples Value s y un nombre de función/variable pluralizado lo indicaría. Para que no se confunda con las variables de matriz (que generalmente también están en plural), se usa el carácter $ en lugar de la s . Al leer la variable, leería el $ como una s .
Al nombrar una matriz, lo más probable es que use la forma plural adecuada del nombre de un solo elemento, como en:
const pets = ['cat', 'dog', 'turtle']
Mientras que, si tuviera un observable que emitiera esos tres valores, usaría:
const pet$ = from(['cat', 'dog', 'turtle']) // read: pets
Depende de ti y de tu equipo si quieres usarlo. Supongo que no hay un consenso explícito a partir de ahora, por lo que puede tener un argumento largo y significativo al respecto ;-). Ya hay reglas tslint disponibles que le permiten hacer cumplir su decisión.
No estoy seguro de si se usa más ampliamente que dentro de la comunidad RxJS, pero dentro de esta comunidad se usa comúnmente para indicar que una variable es una secuencia (es decir, un Observable) o que una función devuelve dicha secuencia.