TypeScriptでFunction.bindを使うのはよくない

みなさんご存知かと思いますが、 JavaScriptのthisは他の言語では考えられない動きをします。 そこでthisを固定するために.bind関数を使うことが一般的ですが、 TypeScriptの場合はそうはいきません。 何故なのか まずはbindがどういう定義になっているのか…

FizzBuzzやってみた 02 (JavaScript)

JavaScriptで少しトリッキーなFizzBuzz 普通のFizzBuzzには飽きているので変なコードで遊びます コード const funcs = { fizzbuzz() { return this.fizz() || this.buzz(); }, fizz() { return this%3; }, buzz() { return this%5; }, }; Object.assign(Numb…

TypeScriptで Redux の Reducer部分を型安全かつスッキリ書く

はじめに TypeScript 2.8がリリースされ色々な機能が追加されました。 その中でもConditional types、特にReturnTypeがなかなか優秀で 今まで諦めていた部分がきれいに書けるようになっております。 そこで個人的にずさんになりがちな、ReduxのReducer周りを…

VisualStudioCodeで.vueファイルにESLintを適応させる

忘れないようにメモ VSCodeで.vueファイルを開いた際に そのままだとエディタ上でESLintが走ってくれなかったので調べてみました。 settings.jsonに以下を記載 ■ settings.json { "eslint.validate": [ "javascript", { "language": "vue", "autoFix": true …

知らない間にAWS_SDKのコールバック地獄から解放されてた(for JavaScript)

※ この記事は元々Qiitaへ投稿したものの移植です 今までJavaScriptでaws-sdkを扱う場合は ↓こんな感じでコールバック関数を渡していました。 ■元々 s3.listBuckets((err, data) => { if (err) { console.error(err); } else { console.log(data); } }); 簡単…

Go言語のmainパッケージに複数ファイルある場合

基礎的な部分ですが、 最初の頃はすごくハマったのでメモを残します。 前提としてプロジェクトがこうなっているとします。 . ├── main.go └── foo.go 各ファイルの中身は以下の通り ■ main.go package main func main() { Bar() } ■ foo.go package main imp…

Go言語のtext/templateの基礎でハマった

Go言語の標準パッケージであるtext/templateについて けっこうハマってしまったのでメモとして残します。 .ParseFilesを利用する場合の、template.Newの引数 まずは以下のコードを見てください package main import ( tmpl "html/template" "os" ) func main…