ECMAScript仕様輪読会 #52
前回: ECMAScript仕様輪読会 #51
Scrapboxの招待リンク: https://scrapbox.io/projects/esspec/invitations/85b96c9fa718ce5185e307196ed8fb53
connpass: https://esspec.connpass.com/
Discord: https://discord.gg/59S3y6weQj
ES Spec Draft: https://tc39.es/ecma262/
読み物リスト
Twitter hashtag: #esspec
便利ツール
esspec-memo: https://tars0x9752.github.io/esspec-memo/esspec.html
Scrapbox Codeblock Generator: https://vzvu3k6k.github.io/scrapbox-codeblock/
TC39 Terminology: https://github.com/tc39/how-we-work/blob/main/terminology.md
時事ネタ
https://devblogs.microsoft.com/typescript/announcing-typescript-5-4-rc/
https://zenn.dev/pixiv/articles/c7071eb29927fe
https://tskaigi.org/call-for-proposals
今週木曜日まで
自己紹介 (近況報告)
syumai syumai.icon
Twitter: https://twitter.com/__syumai GitHub: https://github.com/syumai
Go / TSを書いて暮らしてます
YAPCで体調をぶっ壊しました
ずっと体調が悪かった
tars0x9752 (たーず / naoki aoyama) tars0x9752.icon
https://github.com/tars0x9752
花粉がピンチ
iwatsurut
とくに、イベントもなく過ごしています。
仕事では、PHP で、お客様の Web と AWS のサーバーの面倒を見てます。
ちょっと、ECMAScript の test を眺めてみました。
tars0x9752.icon test262 について知見深めたい
yebis0942 (えびす) yebis0942.icon
GoとReact
CFFのランタイムはNode.JSではなく、ECMAScript(ES) 5.1に準拠し、ES 6以降の一部の機能が取り込まれた独自の軽量JavaScriptとなっていて、ランタイムそのものは公開されていません。
https://techblog.kayac.com/cfft-test-cloudfront-functions
conformantな処理系と言えるのだろうか?
Monica
Twitter: https://twitter.com/sor4chi Github: https://github.com/sor4chi
Honoのコミッターをしてます
YAPCでsyumaiさんにお誘いいただいてきました
前回のあらすじ
https://tc39.es/ecma262/#sec-this-keyword から読んでいった
今回の範囲
13.2.5.4 Runtime Semantics: Evaluation
1. Return OrdinaryObjectCreate(%Object.prototype%).
%foo%はwell-known intrinsic object
2. Perform ? PropertyDefinitionEvaluation of PropertyDefinitionList with argument obj.
副作用のあるSDOの呼び出しは珍しいという話
ComputedPropertyName : [ AssignmentExpression ]
AssignmentExpressionは、文字列化される
code:js
const o = {
{}: 1, // object Object: 1
};
console.log(o);
// { 'object Object': 1 }
const o = {
[{
Symbol.toPrimitive() {
return 10;
},
}]: 1,
};
console.log(o);
// { '10': 1 }
const o = {
-0: 1,
};
console.log(o);
// { '0': 1 }
5. If IsAnonymousFunctionDefinition(AssignmentExpression) is true and isProtoSetter is false, then
a. Let propValue be ? NamedEvaluation of AssignmentExpression with argument propKey.
code:js
const o = {
key: function() {},
classKey: class {}
};
console.log(o.key.name); // key
console.log(o.classKey.name); // classKey
// おまけ
const a = () => {};
console.log(a.name);
// a
__proto__のQ&A
https://developer.mozilla.org/en-US/play?id=Ag7q%2FF8CvANhTBtm1COt1wYeP9xJ1ohENvSA29y0zxYGTml9yl58m1hCTmMVxw03u4urPMBjlN3iMC56