JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

条件に応じて文字列を大文字・小文字に変換する方法 - JavaScript


本記事では、文字列を引数として受け取り、特定の条件に基づいてその形式を変換するJavaScript関数の作成方法を解説します。関数が満たすべき条件は以下のとおりです。

  • 文字列の最初の文字が大文字である場合 → 文字列全体を大文字に変換する
  • それ以外の場合 → 文字列全体を小文字に変換する

実装例

以下のコードは、上記の条件を実現する関数の一例です。

const str1 = "This is a normal string";
const str2 = "thisIsACamelCasedString";
const changeStringCase = str => {
    let newStr = '';
    const isUpperCase = str[0].charCodeAt(0) >= 65 && str[0].charCodeAt(0) <= 90;
    if(isUpperCase){
        newStr = str.toUpperCase();
    }else{
        newStr = str.toLowerCase();
    };
    return newStr;
};
console.log(changeStringCase(str1));
console.log(changeStringCase(str2));

出力結果

このコードをコンソールで実行すると、次のように出力されます。

THIS IS A NORMAL STRING
thisisacamelcasedstring

コードの解説

この関数では、charCodeAt(0) を使って文字列の最初の1文字のUnicodeコードポイントを取得しています。英字の大文字「A」〜「Z」に対応するコードポイントは65〜90なので、取得した値がこの範囲内であれば、先頭の文字が大文字であると判定できます。判定結果に応じて toUpperCase() または toLowerCase() を呼び出し、変換後の文字列を返します。

正規表現を使ったより簡潔な書き方

同じ処理は、正規表現と三項演算子を組み合わせることで、さらに短く記述できます。

const changeStringCase = str => {
    return /^[A-Z]/.test(str) ? str.toUpperCase() : str.toLowerCase();
};

/^[A-Z]/ は「文字列の先頭がA〜Zのいずれかの大文字であるか」を判定するパターンです。test() メソッドの結果が true であれば文字列全体を大文字に、そうでなければ小文字に変換します。if文による分岐が不要になるため、コードの可読性と保守性が向上します。

  1. JavaScriptのsub()メソッドで文字列を下付き文字として表示する方法

    JavaScriptで文字列を下付き文字(subscript)として表示するには、sub()メソッドを使用します。このメソッドは、対象の文字列が <sub> タグで囲まれているかのように、HTML文字列を生成して返します。 sub()メソッドとは sub()はStringオブジェクトに用意されているメソッドの一つで、呼び出した文字列を <sub>〜</sub> の形式に変換します。戻り値はあくまでHTML文字列なので、そのまま画面に出力するとブラウザによって下付き文字として描画されます。 サンプルコード 以下のコードを実行すると、文字列「Demo Text」

  2. JavaScriptで文字列を真偽値(Boolean)に変換する方法

    JavaScriptでは、文字列が「true」というリテラルと一致するかどうかを比較演算子で判定することで、文字列を実質的に真偽値(Boolean)として扱うことができます。ここでは、==(緩い等価比較)と===(厳密等価比較)の2つの方法を使った具体例を紹介します。 サンプルコード <!DOCTYPE html> <html> <head> <style>     body {         font-family: &