みっちぇのWebデザイン研究所

はてなブログのカスタマイズを中心に、ウェブデザインについて研究するブログ

JavaScriptの勉強05【文字列】

勉強シリーズ。

前回は数値についていろいろと学びました。

過去記事 micche-labo.hatenablog.com micche-labo.hatenablog.com

代入・比較演算子と結構頭がこんがらがってきたのですが、次は文字列について学んでいきます。

「数学は苦手だから理解しづらかったけど、文字なら大丈夫でしょ!」と軽く見ていて、早速挫折しかけました。

頑張って理解します。

はじめに

このシリーズはjavascriptを触ったことのない初心者が勉強のために記事にまとめて、頭の中を整理しよう!というシリーズです。

ためになるかはわかりませんが、同じく初心者の方は一緒にがんばりましょう!
玄人の方はどうぞ温かい目で見守っていてください。

なにか間違い・助言あれば、ご教授おねがいします。

勉強方法:Chromeデベロッパーツールでコンソールを開いて実行。

文字列をつくる

文字列は''(シングルクォーテーション)でくくる。
""(ダブルクォーテーション)でもOK!

let name = 'name'; //シングルクォーテーション
let name2 = "name"; //ダブルクォーテーション

また、'でくくった文字の中に'を含めたい時は、

let name = 'I\'m Micche.'; // 'i'm Micche';だとエラーになる

のようにエスケープ文字である\(バックスラッシュ)をつけることで使うことができる。

ちなみにmacの場合だと、option+¥\(バックスラッシュ)を表示できる。

f:id:micche-labo:20210925210742p:plain
\'とした場合と、しなかった場合。エスケープ文字を使用しないとエラーがでる。

同じように、ダブルクォーテーションを使った場合もエスケープ文字を使用することでエラー回避が可能。

name = "たとえば、\
\"この中がダブルクォーテーションで囲まれています。\"\
と、書きたければ、\
ダブルクォーテーションの前に\
エスケープ文字を挿入します。";

f:id:micche-labo:20210925212101p:plain
コンソールでの結果

※文の後ろについている\は、見やすくするために、コード上で改行をするためのバックスラッシュ。

文字列の連結

単純に文字列同士を+でつなぐ。

  • 最初に変数を定義。
  • そのあと変数名同士を足し、新しい変数名を作る。
  • 文章にすることもできる。

以下、コンソールでの結果。

f:id:micche-labo:20210925212609p:plain
変数で定義した文字列同士をつなぐ。他の文字を足すことも可能。

注意
変数名同士を引用符(''とか"")でくくらないこと!!!
文字列として認識されてしまい、変数が効かなくなります。 (私は何度かやりました)

何回でも変数は利用可能。

f:id:micche-labo:20210925213124p:plain
nameもname2も何度でも使える。

文字列と数が混ざっていた場合

文字列側に数値が合わせられ、stringとして連結される。

例えば、

let name = 'みっちぇ'; //文字列
let num = 28; //数値

name + num;

とした場合結果は みっちぇ28 と返される。

文字列として認識されてしまった数を数値にする

また、数値同士がクォーテーションでくくられ、文字として認識されてしまった場合。

let myTime = '12' + '20';
myTime;

この場合は 1220 と返される。

実際にtypeof myTime;と入力してみると、stringと表され、文字列として認識されてしまったことがわかる。

数として計算したい場合は、

let myTimeNum = Number(myTime); //変数に格納しないと数値だと更新されない
typeof myTimeNum;

とすることで、numberと返される。

数値として認識されてしまった文字列を文字列にする

逆に、文字として認識して欲しいのに、数値として認識されている場合は、toString()を使用することで改善できる。

let myNum = 2021; //数値
typeof myNum; //'number' と返される
let myString = myNum.toString(); //数値を文字に
typeof myString; //'string' と返され、文字列に変換できたことがわかる

使い勝手としては、メールフォームやお問い合わせでユーザーが入力した文字を数値に変換して計算したい時などに使えるらしい。

ほう。

休憩

今回はこのくらいにしておこうと思う。
次回、テンプレート文字列(リテラル)について学ぶ…!!!