Srtingメソッドの引数
Stringメソッドに引数を渡します。
前回は括弧 () の中身がなかったと思います。
今回は括弧 ()の中に引数を渡すことができることを紹介します。
引数を渡すことで動作するメソッドや引数を渡すことで動きが変わるメソッドもあります。
引数・・・引数とは、関数やメソッドを呼び出す際に渡す値のことです。プログラム言語では、この「渡された値に対して処理を行い、結果を返す」ということを行っています。
それでは例を挙げてみます
・indexOf
引数で渡した文字列が最初に現れるインデックス(0〜から始まるやつ)を返してくれるメソッドです。
catという文字列が最初に出てくるのはインデックス0の時なので、出力結果は0になります。
該当しない文字列が入った場合は、返り値として数値の-1が返されます。
・slice
文字列や配列などからデータの一部分だけ取り出せるメソッドです。
終了位置のインデックスは取り出し終える前の0から始まるインデックスであり、このインデックスにある文字は含まれません。
具体的に・・・
str.slice(6,11); に関しては切り抜く文字は6文字目〜10文字目ということになるので覚えておきましょう。
負の数も取ることができます、その場合は後ろから数えたものが結果として出力されます。
・replace
文字列の一部または全てを新しい文字列に置き換えるメソッドです。
上記のように置き換えることができます。
あくまで最初に見つけた文字になるので、「 h 」の数が多くても置き換わる文字は
「 hello 」の「 H 」となります。
下記に参考URLも貼りましたので見てみてください。
Stringのメソッド
・Stringメソッド
全てのStringには最初から組み込まれているStringを操作できるアクションがあります。
→メソッドと呼びます。
メソッドを使うことで文字列に便利な操作を実行することができます。
例えば・・・
・文字列内を検索できる
・文字列内の文字を置換ができる
・大文字小文字を変換できる
メソッドの書き方
thingのところは変数や文字列が入り、後半部分がメソッド名と()になります。
メソッドの場合は実行する必要があるため、実行すること伝えるために()を書かなければいけません。
ここで例を挙げてみます。
文字を大文字にする、toUpperCaseというメソッドを使ってみます。
2個目の hello.toUpperCase だと実行されてないのがわかります。
3個目の hello.toUpperCase() だと実行され、小文字から大文字へと変換されているのがわかります。
しかし、4個目で表している通り、変数 hello の中身は変わっていません。
あくまで hello の中身を変換し、新しいStringを返してくれています。
文字列の両端の空白を削除してくれるtrimというメソッドも紹介します。
例えばユーザーの入力したものが意図せず空白が含まれている時にこのメソッドを使うことでキレイなStringに変換できます。
極端ですが、上記のように両端に空白があっても、trimを使うことで、
キレイなStringに変換されます。
あくまで両端だけなので、間にある空白は排除されません。
メソッドは連続して書くこともできます。
上記のようにメソッドの後に、さらに .メソッドを加えることで空白を排除し、かつ大文字にすることができます。(メソッドの順番はどちらでもOKです。)
→メソッドチェインと呼びます。
よく使うことがあるので覚えておきましょう。
MDNにも様々なメソッドが記載されれいるので確認してみてください。
JavaScriptのString・インデックス
・Stringというプリミティブ型
文字の並びを表すデータ型
テキストを表現し、シングルクォート( ' )やダブルクォート( "" )で囲う必要がある。
いくつか例を書いてみます。
シングルクォートやダブルクォートどちらを使っても大丈夫だが、統一しておく必要があります。
最後の文はエラーになるため、注意です。
上記のように、漢字や@なども入れることができます。
数字を囲うこともできますが、Stringの55とNumberの55は別物になります。
シングルクォートとダブルクォートの両方を使用する場合もあります。
ほとんど英語で記述するときに使いますが、上記のように記述できます。
・インデックス
Stringはインデックスされています。
下記のように0から順番に数字が割り振られています。
その数字を使ってStringの文字にアクセスできます。
例を書いてみます。
上記のように[ ]に対応する数字を入れることで、その文字にアクセスできます。
※空白も一つとしてカウントします。
・lengthや文字の連結
簡単に紹介します。
変数の後ろに.lengthを付け加えると、長さを教えてくれます。
※ここでは文字数
主に配列とかで使用するのでここでは割愛します。
また、String同士を足すこともできます。文字の連結ともいいます。
Stringやインデックスについてまとめてみました。
Booleanと変数の命名規則
・Booleanというプリミティブ型
シンプルで「true」か「false」しかとりません。
上記のように記述します。
ゲームで「ログインしている」や、勝ち負けなどの勝敗などを表す際によく使われることが多いです。
JavaScriptでは「true」か「false」は小文字での表記
大文字だとエラーになるが他の言語では問題ない場合もあります。
また上記のように変数のデータ型を変えることができます。
使う場面は少ないが、覚えておくと便利。
・変数の命名規則
変数名の名前(識別子)にはルールがあります。
・半角のアルファベット、_
(アンダースコア)、$
(ダラー)、数字を組み合わせた名前にすること
・変数名は数字から開始できない
・予約語と被る名前は利用できない
OKパターン
NGパターン
〜変数名の書き方おすすめ〜
キャメルケースが一番良く使われます。
※絶対ではないので注意してください。
他の言語によっては、スネークケースやパスカルケースも使います。
わかりやすい変数名を使用することを心がけましょう。
このように省略して記述しても大丈夫ですが、今年なのか来年なのか、またまた昨年なのか一目ではわからない。
その点にも注意にしていくことが大事!!
簡単にまとめてみました。
JavaScriptの変数とlet
Javaの変数でも記載した通りですが、JavaScriptでも変数を使用します。
ここでは、
「変数は値につけておくラベルのようなもの」と記述しておきます。
変数に入れておくことで
・後から参照できる
・何かしら処理をするために使うことができる
・後から違う値にも変更できる
※そもそもJavaとJavaScriptでは文法が違うので、変数の扱いも違ってきます。
Javaではデータ型というものを最初に固定で決める形式(静的型付)
JavaScriptではデータ型を適宜変更できる形式(動的型付)
Javaは、コンパイル(コンピュータが処理できる形に翻訳)が必要ですが、JavaScriptはコンパイルが不要
それではJavaScriptの変数の基本構文を見てみましょう。
具体的には
yearという変数を作りその中に、2000という値を入れる
上記のように参照も可能。
また複数宣言もできる。
変数の更新も下記のように行える
最後にlet以外の変数について
const と var
const ・・・letと違い、宣言できるが後から変更ができない
var・・・letやconstの登場前はvarが使われていたが、letやconstの登場により使われなくなった
varはletと同じように使用できる。単に使われなくなっただけ。
最後にconstで宣言後、値を変更するとエラーになるところだけ見ておきます。
以上、JavaScriptの変数でした。
JavaScriptのNumber
本日から最近学び始めたJavaScriptについても書いていきます。
基礎的なことから徐々に行なっていきます。
・Numberというプリミティブ型
数字の保持や計算などでよく使います。
他言語では、整数や浮動小数点数、いろいろなものに分かれていますが、
JSでは数値型はNumber、一つしかありません。
正の数、負の数、整数、浮動小数点数全てNumberとなります。
演算をやってみましょう。
ブラウザで右クリック
検証→コンソールがあるので一緒に行ってみてください。
下記のように演算ができます。
下の演算2種について簡単に説明します。
・剰余演算・・・結果は余った数字が結果になります。
9の中に2は4回入るので、9-8をして余りが1となります。
→奇数や偶数を判断するときによく使う
・べき演算・・・「**」で何乗かを表す。
2の3乗なので、結果は8となります。
これとは別で「NaN」といものがあります。
Not a numberの略です。
非数・・・数字ではないのを表す値
例
これも頭の片隅に入れておいてください。
以上、Numberについてまとめてみました。
是非、計算も行ってみてください。
Javaのオブジェクト指向
あけましておめでとうございます。
今年もよろしくお願いします。
最近Java以外にもJavaScriptも勉強しているのでまた発信していければと思います。
そもそもオブジェクト指向って・・・?
プログラムで利用される機能をオブジェクト(物)として捉えて、各オブジェクトを組み合わせることによりシステムを完成させる概念
→紹介する用語をいきなり全て覚える必要はないので、基本を抑えた上で、徐々に各用語を理解していくことが大切。
〜オブジェクト指向の説明では欠かせない2つのキーワード〜
「クラス」
・・・実行用クラスと設計図クラスに分けられる。実行用クラスは習った通り、mainクラスである
「インスタンス」
・・・インスタンスはクラスを実体化させたものを指す。
現実でも設計図だけでは実際に利用出来ないように、プログラムでもインスタンス化してクラスに定義した機能を利用することになる
メリット
・開発効率アップ/保守性アップ/メモリ効率/システム化
などが挙げられる。
実際にサンプルを書いてみる
1:クラス定義
2:インスタンス化
Humanクラスをnew演算子でインスタンス化し、「pirate」という名前でインスタンスを作成
3:作成したインスタンスのフィールドを使用
使用する際は「インスタンス名.変数名」、メソッドは「インスタンス名.メソッド名」で利用することが可能。
4:サンプル実行してみる
最近ずっとワンピースにハマっているので、この名前使っちゃいました(笑)
出力結果
オブジェクト指向について簡単にまとめてみました。
まだ勉強中ではあるので、また増えた知識は追加でゆっくり書いていきます。