カテゴリー : JavaScript

[Mocha] before, beforeEach, after, afterEach の実行順番

「あれ? Mocha で before, beforeEach, after, afterEach の実行順番ってどういう順番だっけ?」となることが多かったので記事にしました。

mocha.js

実行順番は before, beforeEach, afterEach, after

結論から書くと、

  1. before
  2. beforeEach
  3. test
  4. afterEach
  5. after

の順番で実行されます。

Mocha のサンプルコード

以下、before, beforeEach, afterEach, after の実行順序を確認するための mocha のサンプルコードです。

describe('before test', function() {
  before(function() {
    console.log('before');
  });
 
  beforeEach(function() {
    console.log('beforeEach');
  });
 
  after(function() {
    console.log('after');
  });
 
  afterEach(function() {
    console.log('afterEach');
  });
 
  it('test', function() {
    console.log('test');
  });
});

何の処理がどこで呼び出されるのか、よく理解してテストコードを書いていきたいですね。

[JavaScript] 小数点以下の桁数を取得する方法

JavaScript で小数点以下の桁数を取得する方法をご紹介します。

小数点以下の桁数を取得する getDecimalPlace メソッド

/**
 * 小数点以下の桁数を取得する
 * @param {Number} number
 * @return {Number} decimalPlace
 **/
var getDecimalPlace = function(number) {
  if (typeof number !== 'number') {
    return null;
  }
 
  var decimalPlace = 0;
  var numbers = number.toString().split('.');
  if (numbers[1]) {
    decimalPlace = numbers[1].length;
  }
 
  return decimalPlace;
};

使い方

第一引数に数字を指定すると、戻り値は小数点以下の桁数が返ってきます。

var number = 1234.56789;
 
getDecimalPlace(number); // 5
getDecimalPlace('not number'); // null

[JavaScript] 指定した id, class 名を持つ全ての要素を削除する

JavaScript で、指定した id もしくは class 名を持つ全ての要素を削除するメソッドをご紹介します。

jQuery は使わずに pure JavaScript で実装しています。

指定した id を持つ要素を削除する

var removeIdElement = function(id){
  var e = document.getElementById(id);
  if (e) {
    e.parentNode.removeChild(e);
  }
};

指定した class 名を持つ全ての要素を削除する

var removeClassElement = function(className){
  var elements = document.getElementsByClassName(className);
  for (var i = 0; i < elements.length; i++) {
    var e = elements[i];
    if (e) {
      e.parentNode.removeChild(e);
    }
  }
};

自分自身の要素を削除するには、parentNode で親ノードに辿って removeChild で子ノードを削除しているところがポイントです。

参考情報

[JavaScript] 改行コード \r\n \r \n を半角スペースに置換する正規表現とスニペット

JavaScript で改行文字を半角スペースに置換する正規表現とスニペットです。

var text = 'spam\r\nspam\rspam\nspam';
console.log(text);
// spam
// spam
// spam
 
var replacedText = text.replace(/\r\n|\r|\n/g, ' ');
console.log(replacedText);
// spam spam spam spam

\r\n \r \n どのパターンでも半角スペースに置き換えてくれます。

参考情報

Promise 参考記事まとめ [JavaScript/ECMASCript6]

JavaScript 標準仕様の ECMASCript6 (ES2015) の Promise について理解が定着していないので、よく読み返す記事を自分用にまとめました。

Node.js における Promise についてはこちらの記事もどうぞ。

ひとまず、以上です。

自分用のよく使うパターンみたいなのも、まとめていきたいなと思います。