【小ネタ】Javascriptのconsoleオブジェクトをもっと便利に使う方法

     - プログラム言語 ,  


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

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

[code language=”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();
[/code]

使い方はconsoleと同じようにlogger.log,logger.groupみたいな形で使えます。

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

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


DACエンジニア採用情報

  関連記事

プログラミング初心者がswiftでゲームアプリ的なものを作ってみた。

こんにちは、DAC2年目のkumataです。 普段は素敵な先輩方に囲まれてインフラ周りのお仕事をさせて頂いていますが、 今回は業務とは全く関係ないプログラミングをやってみました。 全く初心者なのですが、swift+Xcodeで簡単にスマホゲーム的なものが作れました。 初心者の目線から作成方法をつらつ …

no image
Polymer core-ajax の使い方

Polymerのcore-ajaxの使い方。 まずは、index.html [code language=”html” title=”index.html”] <!doctype html> <html> <head&gt …

Scala入門 基礎編「Scalaの書き方を理解しよう」 – PHP使いからScala使いへ転身!

はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 さて、今回はScala入門第二弾として、Scalaの書き方を紹介する基礎編をお送りしま …

PyStanによるはじめてのマルコフ連鎖モンテカルロ法

はじめに こんにちは。システム開発部の中村です。 社内で行っている『データ解析のための統計モデリング入門』(所謂緑本)の輪読会に参加した所、 大変わかりやすい本だったものの、Macユーザには悲しい事に実装サンプルがWinBUGSだったため、 9章の一般化線形モデルのベイズ推定によるアプローチをPyt …

【未経験からのRuby on Rails – 第4回】Railsアプリケーション開発をしよう! 〜開発の準備編〜

こんにちは。新卒のmatsuariです。 Rubyについてまだまだ知るべきことはたくさんありますが、とにかく早くアプリを作りたい! ということで、今回はアプリ開発の準備に取り掛かっていきます。 Rubyはアプリを作成しながら、同時に学んでいきたいと思います。 Railsアプリケーション開発の準備《 …

初心者がRailsで開発 – deviseでユーザー認証設定 –

こんにちは、2年目のYukaです。 開発部所属でありながら実は、、 実際に自分で手を動かして開発する機会がなかなかありませんでした。。 しかしついに、、、 開発初心者がRailsでWebアプリの開発に挑戦します!! 今回のゴールは社内でも使用しているGoogleアカウントで簡単にログインができるよう …

ECMAScript6を使ってみた ~「Promise」編

ECMAScript6とは 一応ちょっとだけ説明しておくと、 ECMAScript(エクマスクリプト)は、Ecma Internationalによって標準化されたスクリプト言語で、バージョン6が2015 年 6 月 17 日に標準仕様として発行されました。(以下、ES6と呼びます) ES6ではcon …

(社内新卒・PHPビギナー向け)MacでPHP7開発環境を構築しよう!

はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 えっ!?新卒のプログラミング研修はPHPで行われるって?!俺の得意言語やないか!! は …

D3.jsとその活用事例について

D3.jsとは? D3とは「Data Driven Document」の略で、データに基づいてドキュメントを操作するための JavaScript ライブラリです。 ご存知の方も多いと思いますが、ちょっとだけD3.jsの基本的な使い方、そして弊社プラットフォームでの利用についてご紹介したいと思います。 …

Scala入門 準備編「開発環境構築」 – PHP使いからScala使いへ転身!

  はじめに みなさんこんにちは、今月入社しましたプロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 XmediaOneの開発で採用しているプログラム言語はS …