Ho visto un codice come questo in diversi punti:
(function() {
var method;
var noop = function noop() {};
var methods = [
'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
'timeStamp', 'trace', 'warn'
];
var length = methods.length;
var console = (window.console = window.console || {});
while (length--) {
method = methods[length];
// Only stub undefined methods.
if (!console[method]) {
console[method] = noop;
}
}
}());
Specificamente sono interessato a questa riga di codice
var console = (window.console = window.console || {});
Perché stiamo creando un nuovo oggetto window.console
se window.console
non è definito?
Quindi, perché stiamo impostando window.console={}
?