タグ

ブックマーク / qiita.com/printf_moriken (5)

  • ECMAScript Realms と ShadowRealm の提案 - Qiita

    【2021/9/1 追記】 提案されていた API のリネームが検討されていましたが ShadowRealm に決まりました。それに伴って記事の中身を修正しています。 【追記ここまで】 Realms とは何か Realms は JavaScript の言語仕様である ECMAScript で定義されている概念です。 JavaScript のコードが評価されるグローバル変数や Array, Map といったビルトインクラス、そこで実行されるコードなどの状態やリソースのことを指します。 ShadowRealm 現在 TC39 で ShadowRealm クラスが提案されています。これを使うことで新しい Realm を作って、JavaScript を評価させることが出来ます。 Web Workers のように別のスレッドで動作されるわけではなく、同じスレッドで同期的に実行されます。 const

    ECMAScript Realms と ShadowRealm の提案 - Qiita
    gfx
    gfx 2022/12/14
  • 【追記あり】ES2022 Array#at がちょっとおかしい #fix_ecmascript_at - Qiita

    既に Stage 4 になっているので諦めていたんですが、流石に見逃せないかなと思ったので TC39 の Discourse にトピックをたててみました。意見がある方はこちらにお願いします。 https://es.discourse.group/t/fix-at/983 議論に伴って私が実際に欲しかったものをモジュールにして公開してみました。 https://github.com/petamoriken/safe-at それといまいちユーザーからの声が伝わっていない感じがしたのでハッシュタグ #fix_ecmascript_at を用意してみました。協力をよろしくおねがいします。 String#char{At, CodeAt} という存在を忘れてたんですが、この似た名前のメソッドたちが引数を整数に丸めるのに String#at が丸めないのはたしかに変だということに気づいてしまったので、自

    【追記あり】ES2022 Array#at がちょっとおかしい #fix_ecmascript_at - Qiita
    gfx
    gfx 2021/09/13
    「整数を期待する引数に非整数を渡したら意味のある結果を返さない」というJavaScript的には極めて一貫性のある振る舞いなのでこれが問題とは思わないなあ。
  • ECMAScript Decorators の変遷と最新仕様 - Qiita

    はじめに 個人的に TC39 meeting をウォッチしてまとめている @petamoriken です。 ECMAScript の Decorators の提案は何度も改定しています。その割にあまり知れ渡っていません。この記事ではその変遷と最終的な Decorators の仕様について簡単にまとめようと思います。 この発表スライドを見ると流れがわかりやすいかもしれません。 最初の提案(2014年~2015年頃) 最初の提案はこのような形式をしていました。 class Person { @nonenumerable get kidCount() { return this.children.length; } } function nonenumerable(target, name, description) { descriptor.enumerable = false; return

    ECMAScript Decorators の変遷と最新仕様 - Qiita
    gfx
    gfx 2020/07/19
    decoratorsなかなか進まないなー。
  • ES2018 Async Iteration - Qiita

    Async Iteration について Async Iteration は 2018年1月の TC39 Meeting で Stage 4 になり1、ES2018 に入ることが期待される新しい ECMAScript の仕様です。 言葉の定義 JavaScript の イテレータ を極める!の記事に倣って言葉の定義をしていきます。 先にそちらの記事読むことをおすすめします。 AsyncIterator とは AsyncIterator は next メソッドを実行すると Promise<IteratorResult> を返すオブジェクトです。

    ES2018 Async Iteration - Qiita
    gfx
    gfx 2019/03/06
  • HTMLCollection は Iterable なのか? - Qiita

    TL; DR DOM API 的には HTMLCollection は Iterable となっていないが、 W3C WebIDL 的には Iterable になっている。 Chrome, Firefox では Iterable として実装されており、Safari は 11 から Iterable になっている。また core-js(babel-polyfill) でも Iterable になる。 一方で Edge 40 では HTMLCollection は Iterable になっていない。 闇。 イントロダクション JavaScript の言語仕様である ECMAScript ではオブジェクトの分類として Iterable と ArrayLike があります。 いずれも Array.from で Array に変換することが出来ます。 Iterable について Iterable は

    HTMLCollection は Iterable なのか? - Qiita
    gfx
    gfx 2018/06/13
  • 1