title: AngularJS : Why to check whether newValue is the same as oldValue in `$watch` listener?
body: <p>I saw the pattern below many times:</p>
  <pre><code>$scope.$watch('full_name', function(newVal, oldVal, scope) {
  
   if(newVal === oldVal) {
     return
   } else {
   }
  }
  </code></pre>
  <p>I don't quite understand the <code>if(newVal==oldVal)</code> branch because it looks useless.. Shouldn't the listener callback function only be called when the watched value is changed? If that is the case, shouldn't <code>newVal</code> always be different from  <code>oldVal</code>?
  If not, does anyone have examples about what can be done in the <code>newVal==oldVal</code> branch?</p>