здесь находится фрагмент кода из углового js
var requestAnimationFrame = $window.requestAnimationFrame ||
$window.webkitRequestAnimationFrame ||
$window.mozRequestAnimationFrame;
var rafSupported = !!requestAnimationFrame;
, и они намерены установить rafSupported в true или false на основе доступности функции в requestAnimationFrame
, это может быть достигается путем проверки следующим образом:
if(typeof requestAnimationFrame === 'function')
rafSupported =true;
else
rafSupported =false;
может использоваться короткий путь !!
rafSupported = !!requestAnimationFrame ;
, поэтому, если requestAnimationFrame была назначена функция, тогда! requestAnimationFrame будет ложным и еще один! из этого было бы правдой
, если requestAnimationFrame было объявлено undefined, тогда! requestAnimationFrame будет правдой и еще одним! это было бы неверно