LoginSignup
5
5

More than 5 years have passed since last update.

[小ネタ]consoleオブジェクトをもっと便利に使う方法

Last updated at Posted at 2015-02-25

すごく便利なconsoleオブジェクトですが、ブラウザによってサポートされているメソッドが
なかったり、そもそもconsoleオブジェクトが使えなかったりと、たまに不便だったりします。

そんなときによく使う便利なコード。

javascript
var logger = {};
var isDebug = true;
var loggerInit = function(){
    var emptyFunc = function(){};
    var Err = "undefined";
    var e = "assert,cd,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,log,markTimeline,memory,memoryProfile,profile,profileEnd,table,time,timeEnd,timeStamp,timeline,timelineEnd,trace,warn".split(",");
    if (typeof console !== Err && isDebug ){
        logger = console;
        for(var i = 0; i < e.length; i++) {
            var method = e[i];
            if (typeof logger[method] === Err ) {
                if (typeof logger.log === Err ){
                    logger[method] = emptyFunc;
                } else{
                    logger[method] = logger.log;
                }
            }
        }


    } else{
        for(var i = 0; i < e.length; i++) {
            logger[e[i]] = emptyFunc;
        }
    }
};
loggerInit();

なにをやってるかっていうのと(簡単な処理ですが)、consoleオブジェクトがない場合に空のfunctionに置き換えて
consoleオブジェクトが存在する場合でも特定のメソッドがない場合に空のfunctionに置き換えてます。

ちなみに「isDebug」をfalseにすると、すべて空functionになるので、console自体が動きません。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5