É um apelido para o operador multicast () com a única diferença é que você não precisa chamar o método connect () manualmente para iniciar a assinatura.
Sintaxe
share()
Exemplo
import { interval} from 'rxjs';
import { take, share} from 'rxjs/operators';
let observer = interval(1000).pipe(take(3), share());
const subscribe_one = observer.subscribe(
x => console.log("Value from Sub1 = "+x)
);
const subscribe_two = observer.subscribe(
x => console.log("Value from Sub2 = "+x)
);
setTimeout(() => {
const subscribe_three = observer.subscribe(
x => console.log("Value from Sub3 = "+x)
);
}, 2000);
Resultado