C#の拡張メソッドはやってることが分かりやすいね
staticと宣言され、thisが第1引数
ただ宣言と利用で引数が違うのが気持ち悪い

C#で基礎的に多い使いどころはnull処理や型変換
なんでも型としてobjectがあるので
でもやたら型に煩いので中の分岐が面倒

javascriptの引数は全てなんでも型だが、逆にprototypeのthisだけは型が必要
なので、null処理や型変換は、普通の関数にしてる
そもそも「メソッドチェーンはnullで止まる」とか、最初から言われてたり