Twitter hashtag: #esspec
便利ツール
時事ネタ
Promise.try
自己紹介 (近況報告)
syumai syumai.icon
Go / TSを書いて暮らしてます
別チャンネルでライブしました
最近個人的にComlinkがアツい
Asakusa.go #2 と言うイベントをやります tars0x9752 (たーず / naoki aoyama) tars0x9752.icon
普段はTSを書いています
個人で管理してるドメインを更新したりなど
あんまり使ってないけど放棄するのもな~みたいな感じ
iwatsurut
とくに、イベントもなく過ごしています。
Kyoto.go オフラインLT会 参加申込しました。
ありがとうございます!yebis0942.icon
yebis0942 (えびす) yebis0942.icon
GoとReact
無料で使えるtkドメイン使ってましたがついにサービス終了の運びに
esbuildの設定に詳しくなった
設定項目の名前がなかなか難しい
ECMAScriptバンドル界の難しさを感じる
tomato3713 (とまと/ねことまと)tomato3713.icon
Go と Perl
社内でGoのProposal読む会をしたり、OOC2024 staff やったり
仕様書の年度が2025になった
と思ったら2/17にコミットされてた
前回のあらすじ
今回の範囲
formal parameters とは
function BindingIdentifier ( FormalParameters) { FunctionBody }
関数定義の丸かっこの中身
FunctionDeclaration の場合は初期化される
FunctionExplanation の場合は
Formal parameters and functions are initialized as part of FunctionDeclarationInstantiation. All other bindings are initialized during evaluation of the function body.
Formal parameters and functions は FunctionDeclarationInstantiation 時に初期化されて、その他のバインディングは関数本体が評価される時に初期化されるってことっぽい?
関数はどこから生まれる?
Function constructor
この中のCreateDynamicFunctionが本体っぽい
InstantiateFunctionObject
Syntax Directed Operation
構文解析中に見付かった関数宣言から、関数オブジェクトを作成する
strict がどこからくるか
body が IsStrict か
syntactic unit とかいう新しいのがでてきた
仕様書のここを実行してますみたいなのが出てくるやつ
関数宣言の初期化とインスタンス化
インスタンス化は実際に関数が [[Call]] か [[Construct]] されたあと
tomato3713.icon BoundNames とは?
4. Let formals be func.FormalParameters.
5. Let parameterNames be the BoundNames of formals.
Syntax-directive operation はパターンマッチ的に処理の仕方を分岐する
今回なら BoundNames of formals なのでマッチするものは formals
ComputedPropertyKey が出てくるようなコードがどんなのものか
code:js
const o = {
key: "value",
};
function f({ "key": myKey }) { console.log(myKey);
}
f(o); // value
Let がエイリアス宣言
Let A be B of C
→ CにマッチしたBを syntax-directed names で処理してAとして割り当てる
tomato3713.icon うろ覚え
opt がついてるのは or Empty みたいな意味
if文のconditionにdeclarationは書けるのか?
AssignmentExpressionは書けるが、declarationは書けない
code:js
if (var a = 1) {} // SyntaxError
TopLevelVarDeclaredNames
14まで読んだ