by shigemk2

当面は技術的なことしか書かない

JavaScriptのオブジェクトコンストラクタ

コンストラクタが内部に組み込まれているという話。

JavaScriptは、少数のネイティブオブジェクトコンストラクタが組み込まれた言語にすぎません。この少数のネイティブコンストラクタが、数値、文字列、関数、オブジェクト、配列などの特化した型を表現するビルトインのオブジェクトを生成し、ユーザ定義オブジェクトコンストラクタ(Person()など)を構築するための材料を提供します。JavaScriptはこのような構造を持つため、オブジェクトの生成パターンに関わらず、一般的に(プリミティブ型ではなく)オブジェクトが生成されます。

ECMAScript におけるオブジェクトは、いわゆるコンストラクタを経由して生成されます。コンストラクタは、新しく生成されるオブジェクトを生成し、初期化する関数です。生成(メモリアロケーション)に関しては、コンストラクタ関数の Constructor 内部メソッドが担当します。

詳細 ECMA-262-3 第7章2節 OOP: ECMAScript での実装 - mixi Engineers' Blog

追記

誤字修正(erson→Person)

今日やったこと #dwgo

最近このネタ多いな。

第4回 dwanGo - connpass

チュートリアルは結構前に終わらせました。

A Tour of Go

とか言いつつ、途中のexerciseは、結構飛ばしました。「終わらせた」つっといて飛ばしたってどういうことだよ。

しかし、変なところでつまって止まるなら次へ行ったほうがいいと判断しまして。

ぶっちゃけ、exerciseはわかりませんでした。

shigemk2/golangtutorial · GitHub

適当に区切りをつけましたので、Brainfuckのインタプリタを作りました。

shigemk2/brainfuck-go · GitHub

作ったと言っておいてアレですけども、+-<>.だけしか実装できていない。だいたい2時間くらいでしょうかね。