Mach3.laBlog

細かすぎて伝わらないjQuery拡張 (2) “$.chainCase” – Advent Calendar 2016

この記事は賞味期限切れです。(更新から1年が経過しています)

$.chainCase() は、キャメルケースの文字列をチェインケース・スネークケースに変換する関数です。

$.chainCase(str, delimiter)

使い方

$.chainCase("fooBarBaz"); // => "foo-bar-baz"
$.chainCase("FooBarBaz"); // => "foo-bar-baz"
$.chainCase("fooBarBaz", "_"); // => "foo_bar_baz"
  • 第二引数で区切り文字を指定してやると、スネークケースに変換する事もできます。

コード

$.chainCase = function(str, delimiter){
    delimiter = delimiter || "-";
    return str.replace(/[A-Z]/g, function(s){
        return delimiter + s.toLowerCase();
    })
    .replace(new RegExp("^\\" + delimiter), "");
};

昔のコードから発掘してきた関数なのですが、 どういう用途で使おうとしていたのかは思い出せませんでした。

jQueryには jQuery.camelCase() というチェインケースからキャメルケースへの変換をおこなう関数が実装されています。 jQuery.camelCase() は、jQuery.fn.data()jQuery.fn.css() の内部で名前を書き換えるために使われています。 こちらも直接呼び出す場面はあまりなさそうですね。

コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*