【JavaScript】文字列をスネークケースに変換する方法をわかりやすく解説
スネークケース(snake case)とは、文字列内のスペースをアンダースコア「_」に置き換え、各単語の頭文字を小文字にして記述する命名スタイルのことです。例えば「This is a simple sentence」という文は、スネークケースでは「this_is_a_simple_sentence」のようになります。
この記事では、文字列を受け取ってスネークケースに変換するJavaScript関数の実装方法を紹介します。
スネークケース変換のコード例
以下が実際のコードです。文字列をスペースで分割し、各単語を小文字化したうえで、アンダースコアで結合しています。
const str = 'This is a simple sentence';
const toSnakeCase = (str = '') => {
const strArr = str.split(' ');
const snakeArr = strArr.reduce((acc, val) => {
return acc.concat(val.toLowerCase());
}, []);
return snakeArr.join('_');
};
console.log(toSnakeCase(str));実行結果
コンソールには次のように出力されます。
this_is_a_simple_sentence
コードの仕組み
この関数の処理の流れを簡単に整理すると、以下の3ステップになります。
1. split(' ')で文字列を単語ごとに分割:元の文字列をスペース区切りで配列にします。
2. reduce()とtoLowerCase()ですべての単語を小文字化:配列内の各要素を順番に処理し、小文字の英字へ変換します。
3. join('_')でアンダースコア付きの文字列に再結合:小文字化された単語同士を「_」でつなげて完成です。
なお、キャメルケース(camelCase)やケバブケース(kebab-case)など、他の命名規則への変換にも応用できます。ケバブケースの場合は、結合時の区切り文字を「-」に変更するだけで対応可能です。
-
JavaScriptで文字列をキャメルケースに変換する方法
キャメルケースとは?キャメルケース(camel case)とは、フレーズ内の各単語や略語の先頭を大文字で表記し、単語間にスペースや区切り文字を一切入れない書き方のことです。たとえば「Concurrent hash maps」という文字列をキャメルケースに変換すると、次のようになります。ConcurrentHashMapsこの形式は、JavaやJavaScriptなどのプログラミングにおいて、クラス名や変数名の命名規則として広く使われています。JavaScriptでキャメルケース変換を実装するJavaScriptでは、文字列を受け取ってキャメルケースに変換する関数を、以下のようにシンプルに実装で
-
JavaScriptのconst宣言とは?再代入できない変数の基本と使い方を解説
JavaScriptのconst宣言は、値を再代入することも後から再宣言することもできない変数を作成するための構文です。constはES2015(ES6)で導入されました。 const宣言の主な特徴 一度値を代入すると、別の値に再代入することはできません。 同じ名前の変数を同じスコープ内で再宣言するとエラーになります。 宣言時に必ず初期値を代入する必要があります。 ブロックスコープ({}内でのみ有効)を持ちます。 それでは、JavaScriptにおけるconst宣言の実際のコードを見ていきましょう。 サンプルコード <!DOCTYPE html> <html>