ECMAScript仕様輪読会 #86
前回: ECMAScript仕様輪読会 #85
Cosenseの招待リンク: https://scrapbox.io/projects/esspec/invitations/85b96c9fa718ce5185e307196ed8fb53
connpass: https://esspec.connpass.com/
Discord: https://discord.gg/59S3y6weQj
ES Spec Draft: https://tc39.es/ecma262/
multipage: https://tc39.es/ecma262/multipage/
資料: https://speakerdeck.com/syumai/ecmascriptshi-yang-wodu-munonibi-yao-nazhi-shi-daiziesutoban
読み物リスト
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
esmeta playground: https://es-meta.github.io/playground/
時事ネタ
TSKaigi Hokuriku
9/15まで
https://tskaigi.hatenablog.com/entry/2025/08/05/112439
自己紹介 (近況報告)
syumai syumai.icon
Twitter: https://twitter.com/__syumai GitHub: https://github.com/syumai
Go / TSを書いて暮らしてます
tmuxを使い始めた
今週、Workers Tech Talk Hokkaidoと、フロントエンドカンファレンス北海道があります
iwatsurut
とくに、イベントもなく過ごしています。
https://nanto.asablo.jp/blog/2024/06/07/9690975
igrep(山本悠滋)
https://github.com/igrep/
Linux on Android、いいところまで動いたのにTailscaleが不調で一旦断念 https://github.com/tailscale/tailscale/issues/13235
前回のあらすじ
https://g.co/gemini/share/d8662cb23f57
20:40 再開
今回のメモ
code:js
"a".repeat(Infinity)
Uncaught RangeError: Invalid count value: Infinity
at String.repeat (<anonymous>)
code:js
console.log(Error.prototype.message);
Error.prototype.message = "default message";
const e = new Error();
console.log("e.message:", e.message);
ReferenceError.prototype.message = "reference error default message";
const re = new ReferenceError();
console.log("re.message:", re.message);
class MyError extends Error {}
const myErr = new MyError();
console.log("myErr.message:", myErr.message);
/*
e.message: default message
re.message: reference error default message
myErr.message: default message
*/
code:js
Object.prototype.toString.call(1)
'object Number'
const e = new Error();
undefined
Object.prototype.toString.call(e)
'object Error'
e.toString()
'Error'
const re = new ReferenceError();
undefined
Object.prototype.toString.call(re)
'object Error'
code:js
isNaN("A")
true
Number.isNaN("A")
false
isNaN(NaN)
true
Number.isNaN(NaN)
true
code:js
let n = Number.MAX_SAFE_INTEGER;
undefined
Number.isInteger(n);
true
Number.isSafeInteger(n);
true
n = Number.MAX_SAFE_INTEGER + 1;
9007199254740992
Number.isInteger(n);
true
Number.isSafeInteger(n);
false