title: What is the difference between tap and map in RxJS?
body: <p>I read the difference from the article but the main points look like this.</p>
  
  <p>so with <code>tap</code> I can change the variables such as that if I put <code>x=3+4</code> then it changes the values of variable then I can say there is one side effect.</p>
  
  <p>But with <code>map</code> I can change the value looping each value, isn't it? 
  Can you pinpoint what outstanding differences they have?</p>
  
  <p><strong>tap</strong></p>
  
  <blockquote>
    <p>RxJS tap performs side effects for every value emitted by source Observable and returns an Observable identical to the source Observable until there is no error.</p>
  </blockquote>
  
  <p><strong>map</strong></p>
  
  <blockquote>
    <p>map is a RxJS pipeable operator. map applies a given function to each element emitted by the source Observable and emits the resulting values as an Observable</p>
  </blockquote>