TypeScript、C#を想定してますが、多くの言語で使えるはずです。
これらを覚えてから実装が楽になりました。
三項演算子
条件 (三項) 演算子 - JavaScript | MDN
if文の単一処理を簡潔に書ける記法。
ほとんどの言語で使えるので汎用性が高い。
例:変数hogeの値が0だったら変数fuga、0以外だったら変数piyoをreturnしたい。
普通のif文の場合(Typescript)
sankoEnzanshi(hoge: number, fuga: string = 'hogeは0やで', piyo: string = 'hogeは0ちゃうで'): string{
if(hoge === 0) {
return fuga;
}
if(hoge === 1) {
return piyo;
}
}
三項演算子を用いると
sankoEnzanshi(hoge: number, fuga: string = 'hogeは0やで', piyo: string = 'hogeは1やで'): string{
return hoge === 0 ? fuga : piyo;
}
構文解説
hoge === 0 ? fuga : piyo
の hoge === 0
の評価がtrueの時はこの節がfuga
、falseの時はpiyo
として扱われます。
もちろん変数だけでなく、メソッドを呼び出すことも可能ですが、ここに複数の処理を書くのは可読性が落ちるのでやめましょう。あくまでも演算子です。
Null合体演算子
ある変数の値がNullかNullではないかで返す値を決定するのがNull合体演算子です。
はてなはてな演算子って僕は呼んでます。
C#を代表に、いくつかの言語で使えます。
OracleのSQLでいうNVLです。
デフォルト値を設定するときなどに便利です。
例:変数hogeがNullではないときはhoge、Nullの時はfugaをreturnしたい。
普通のif文の場合(C#)
static string NullGattaiEnzanshi(string hoge, string fuga)
{
if(hoge == null)){
return fuga;
}else{
return hoge;
}
}
Null合体演算子を用いると
static string NullGattaiEnzanshi(string hoge, string fuga)
{
return hoge ?? fuga;
}
構文解説
hogeがnullだったらfuga、hogeに何らかの値が入っていたらそのままhogeがreturnされます。
デフォルト引数
たいていの言語(JSはES2015以降)で使用できます。ただし、IEでは動きません。
引数がnullやundefinedの場合、デフォルト値を引数として扱うことができます。
実はしれっと三項演算子のところで使ってます。
普通に書くと
defaultHikisu(hoge: number, fuga: string, piyo: string): string{
if(fuga === undefined) {
fuga = 'hogeは0やで';
}
if(piyo === undefined){
piyo = 'hogeは0やで';
}
return hoge === 0 ? fuga : piyo;
}
this.defaultHikisu(0); // hogeは0やで
this.defaultHikisu(0, 'fugaに値を渡したで'); // fugaに値を渡したで
this.defaultHikisu(1, 'fugaに値を渡したで', 'piyoに値を渡したで'); // piyoに値を渡したで
デフォルト引数を用いると
defaultHikisu(hoge: number, fuga: string = 'hogeは0やで', piyo: string = 'hogeは1やで'): string{
return hoge === 0 ? fuga : piyo;
}
this.defaultHikisu(0); // hogeは0やで
this.defaultHikisu(0, 'fugaに値を渡したで'); // fugaに値を渡したで
this.defaultHikisu(1, 'fugaに値を渡したで', 'piyoに値を渡したで'); // piyoに値を渡したで
配列、Listを扱うメソッド
たいていの言語で使える。
C#のLINQが有名ですね。
TSを書いていてよく使うのは下記リンクに。
ただIEではいくつかのメソッドが使えなかったりします。
Javascriptの暗黙的な真偽値
Javascriptを書くなら、この記事の内容は理解しとくと吉
[JavaScript] null とか undefined とか 0 とか 空文字('') とか false とかの判定について - Qiita
正規表現
文字列操作、チェックするときには欠かせない正規表現
ググればたくさん例が出てくるのでここでは割愛。たいていのパターンはググれば出てくるのでいい時代です。