ECMAScript仕様輪読会 #43
前回: ECMAScript仕様輪読会 #42
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
時事ネタ
気がつけばJSConf JPのCfP締め切りでした
自己紹介 (近況報告)
syumai syumai.icon
Twitter: https://twitter.com/__syumai GitHub: https://github.com/syumai
原稿を書いてます
VTuberというのをちょっと観測するようになりました
tars0x9752 (たーず / naoki aoyama) tars0x9752.icon
今日のランチ時、食べる前にビビンバを床に盛大にぶちまけてしまい悲しい
antisatori
先月初めて受けたTOEICの結果が返ってきて885点でした
台湾に行っても安心かもしれない…?yebis0942.icon
tars0x9752.icon sugoi yebis0942.iconsyumai.icon
https://www.meetup.com/ja-JP/englishonlycafe/
iwatsurut
とくに、イベントもなく過ごしています。
仕事では、php でお客様向けのサービスのお守りをしてます。
すこし、電話システムのバックエンドを go で動かしてます。
AWS の サーバーを Cloudformation で書いてます
前回のあらすじ
余談:
TS5.3 beta 話から
@@hasInstance
switch の比較は isStrictlyEqual: https://tc39.es/ecma262/#sec-runtime-semantics-caseclauseisselected
今回の範囲
読み物リスト
12.7.1 Identifier Names
Identifier Nameに \ unicode escape sequence が使える
code:js
const \u00411\u0042 = "abcde";
const \u00412\u0042 = "ABCDE";
console.log(A1B, A2B); // abcde ABCDE
const \u10000 = "XYZ";
console.log(က0); // XYZ
const \u{10000} = "ZZZ";
console.log(𐀀); // ZZZ
code:js
const \u19DA = 1;
const \u19DA = 1;
^^^^^^
Uncaught SyntaxError: Invalid or unexpected token
const ᧚ = 1;
const ᧚ = 1;
Uncaught SyntaxError: Invalid or unexpected token
const \u{19DA} = 1;
const \u{19DA} = 1;
^^^^^^^^
Uncaught SyntaxError: Invalid or unexpected token
12.7.2 Keywords and Reserved Words
identifier namesには5種類ある
特定の文脈でキーワードになるもの
of, get, set ...
code:js
for (const a of list) { // OK
for (const a \u006f\u0066 list) { // NG
^
Uncaught SyntaxError: Missing initializer in const declaration