タグ

JavaScriptに関するswfzのブックマーク (15)

  • mouseover 中に表示される DOM のデバッグ | blog.jxck.io

    Update 2024-03-30: Chrome 123 から "Emulate a focused page" が追加された。 これを用いれば良いため、以降の全ての方式は古くなった。 Apply other effects: enable automatic dark theme, emulate focus, and more https://developer.chrome.com/docs/devtools/rendering/apply-effects#emulate_a_focused_page マウスが乗ってないと出ない UI も、そこに Tab などでフォーカスを移し、その状態で Dev Tools の "Emulate a focused page" を有効にすれば良い。 Intro 先日、後輩が「mouseover 中にしか表示されない DOM のデバッグ」に手こずっ

    mouseover 中に表示される DOM のデバッグ | blog.jxck.io
  • JavaScriptライブラリを読むときのコツ

    少し前からライブラリを読むトレーニングを始めたのですが、最近ようやく読み方がわかってきたので、やり始めた頃に知っておきたかったことをまとめます。 これから JavaScript/TypeScript で書かれたライブラリを読んでみようと思っている方の助けになれば嬉しいです。 「私はこういう道具を使ったり、こういう工夫をしています」みたいな感じの内容ですので、もし「もっといい読み方があるよ」みたいなのがありましたらIssueなどで教えていただきたいです。 (※ライブラリを読むにあたって、ブラウザの話と NodeJS の話があるのですが、似てる点がほとんどなのでごった煮します。) エントリポイントを探す ライブラリを読むにあたって そのライブラリが持つ module がどう協調して全体が作られるのか その関数は正確にはどういう挙動をするのか などを考えると、ユーザーから渡された入力や呼び出しが

    JavaScriptライブラリを読むときのコツ
  • JavaScriptの「this」は「4種類」?? - Qiita

    javascriptの「this」は「4種類」?? この記事ではベースとなる4種類の「this」を紹介します。 実際は4種類ではないのですが、 このベースの4種類を理解できれば他もすぐに理解できます。 thisの4種類のパターン 1:メソッド呼び出しパターン 2:関数呼び出しパターン 3:コンストラクタ呼び出しパターン 4:apply,call呼び出しパターン ここで重要なのは「呼び出し元」をみることです。 なぜなら「呼び出し元」に「this」は左右されるからです。 メソッド呼び出しパターン これはもう一番直感的にわかりやすいです。 説明はいらないんじゃないかという感じなのですが、 一応ソースを。。 //メソッド呼び出しパターン var myObject = { value: 10, show: function() { console.log(this.value); } } myObj

    JavaScriptの「this」は「4種類」?? - Qiita
  • ウェブブラウザの off-the-main-thread API の話

    ウェブブラウザにおいてメインスレッドはとても重要なリソースです。なるべくメインスレッドを使える状態にしておくことが滑らかな UI/UX を実現する上で重要になります。しかし、実際には多くの処理が実装上の理由やブラウザ仕様の不足によりメインスレッドでしか動かせないため、メインスレッドは忙しくなりがちです。特にページロード時は JavaScript の実行やリソース読み込みなどでとても忙しくなります。 とあるページの perf プロファイル。メインスレッドでせわしなく処理が行われている様子が分かる。 これを解消するために、ブラウザの処理をメインスレッド以外 (off-the-main-thread) でも実行できるようにする試みが行われています。 1. Off-the-main-thread とは メインスレッド以外のスレッドに処理を委譲することを off-the-main-thread と呼

    ウェブブラウザの off-the-main-thread API の話
  • Regulex:JavaScript Regular Expression Visualizer

    Visualize Export Image Embed On My Site! IgnoreCase Multiline GlobalMatch

  • querySelectorAllしてmapしたいとき[...すると短い - hitode909の日記

    表示中のHTMLから情報を雑に抜き出して利用するため,ブラウザのデベロッパツールなどでquerySelectorAllしてmapしたい.しかし,querySelectorAllはNodeListを返すので,mapするにはArrayに変換する必要がある. NodeListをArrayに変換するときに短く書く方法ないですかって同僚に聞いたらいろいろ教えてもらえたのでメモ. Array.prototype.slice.callする オーソドックスな手法.昔からこれを書いていて,長くて困っていた.最近はアロー関数を使えるのでちょっと短くなったけど長い. Array.prototype.slice.call(document.querySelectorAll('a')).map(a => a.href) [].slice.callする Array.prototypeのかわりに[]で書く.ちょっと短い

    querySelectorAllしてmapしたいとき[...すると短い - hitode909の日記
  • GitHub - mixi-inc/JavaScriptTraining: Training course repository for JavaScript

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mixi-inc/JavaScriptTraining: Training course repository for JavaScript
  • はてな教科書 JavaScript編

    はてな教科書JavaScript編 講義の目的 JavaScriptについて、自分で調べて学習するための基礎知識を身につける リファレンスをひけば良い部分は覚えない 話の流れ JavaScriptの言語コア部分 構文とか WebとJSにまつわるあれこれ DOM 非同期プログラミング Ajax jQuery フロントエンド設計 Node.js 駆け足で進めるので、速すぎるなら遠慮せず言ってください! LICENSE この作品は クリエイティブ・コモンズ表示 - 非営利 - 継承2.1日ライセンス の下に提供されています。

  • ECMAScriptの使い方

    プロポーザルのステージの進み方 2ヶ月に1度行われるTC39のミーティングでプロポーザルのステージを更新 ミーティングの議事録は tc39/tc39-notesで公開 毎年のECMAScriptをリリースするタイミング(6月)で、Stage 4のプロポーザルをマージ ECMAScript 20XXとしてリリース なぜ仕様策定プロセスが変わったのか ES2015以前: すべての仕様の合意が取れてからリリース ES2016以降: 合意が取れた仕様からリリース 変更理由: ECMAScriptのリリースに長い歳月がかかり言語の進化が停滞した 歴史的失敗: ES4では多くの変更を入れることを試みたが、TC39内でも意見が分かれ最終的に合意できなかった これにより言語の発展が数年間停滞した[^1] [^1]: Programming Language Standardization: Pattern

  • メタプログラミングと生産性 / meta-programming

    メタプログラミングを生産性向上手段の一つとして知っておくと、プログラマ人生が捗るかもしれません!

    メタプログラミングと生産性 / meta-programming
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
  • JavaScriptで0からn-1までを要素にもつArrayを作成する方法

    一行で書けます。 Array.apply(null, {length: n}).map(Number.call, Number); なかなかクールな書き方だと思いました。 なぜこれで 0 から n - 1 までの値を要素にもつ配列が生成されるのか簡単に説明しておきます。 まずは Array.apply(null, {length: n})Array.apply(null, {length: n}) で要素数nの配列が作成されます。このとき各要素は undefined になります。これは apply の第二引数に配列っぽいオブジェクトを指定した場合の挙動です。配列っぽいオブジェクトとはここでは length プロパティを持っているオブジェクトのことです。ちなみに、もしもこのオブジェクトが 0 や 1 といった数値をキーとしたプロパティを持っていたら、その値を要素に持つ配列が生成されます。つま

    JavaScriptで0からn-1までを要素にもつArrayを作成する方法
  • 1日10万枚の画像を検証するためにやったこと - Qiita

    お前は今までスクショした画像の枚数を覚えているのか? こんにちは。WACULでフロントエンドエンジニアをしている @Quramy です。 冒頭のやつは書いてみたかっただけです。気にしないでください。ちなみに僕はDIOよりも吉良吉影派です。 11月末に、Node学園祭で Introduction to Visual Regression Testing というLTをさせて頂きました。 この時は大分話題を絞っての発表でしたので、今日は弊社で実施しているフロントエンドの画像回帰テストについて、LTでは割愛した部分も含めてヌルっと書いていこうと思います。 そもそも、WACULのアドベントカレンダーでこのネタを書くのはこれが初めてではありません。 2016年にも、 @bokuweb が コンポーネント/単体テスト単位でのvisual regressionテストを行うためのツールを作った話し で、画像

    1日10万枚の画像を検証するためにやったこと - Qiita
  • DOMイベントのキャプチャ/バブリングを整理する 〜 JSおくのほそ道 #017 - Qiita

    こんにちは、ほそ道です。 今回はDOMネタです。 イベントのキャプチャとバブリングについて覚書をまとめて参ります。 また今回はv8での検証であり、レガシーなIEは対象外です。 レガシーなIEはイベント設定メソッド自体が違いますのでご注意くださいませ。 目次はこちら 入れ子なDOMのイベント発生順序制御 DOMが入れ子構造になっていてそれぞれにイベント(例えばClickイベント)が設定されていた場合 「このように動いてほしい」という期待はケースバイケースであると思います。 期待通りの処理になるようカッチリ制御しちゃいましょう。 addEventListenerの第三引数「useCapture」 例えば下記の様なHTMLがあったとします。 body内にdivが入れ子になっておりそれぞれにClickイベントが登録されています。 <html> <head lang="en"> <meta char

    DOMイベントのキャプチャ/バブリングを整理する 〜 JSおくのほそ道 #017 - Qiita
  • Draft.js と Slate.js と CodeMirror の感想 - r7kamura - Medium

    幾つかの Web サービスや Electron ベースのアプリに組み込むエディタを実装するにあたって、Draft.js、Slate.js、CodeMirror を試してきて得た情報について、個人の感想を述べる。今更感があるので、ライブラリそのものについての解説はしない。 Draft.js冒頭で挙げている三つのライブラリの中では、単純に Server-Side Rendering してもエラーを出さず、普通に動くところが良かった。単純に動かないタイプのライブラリでは、例えば React ではライフサイクルイベントのコールバックである ComponentDidMount メソッドを利用するなどして、クライアントサイドのみでエディタが描画されるように工夫しなければならない。 Draft.js でエディタのスタイルを変更するには、Decorator という、描画前の内部データを DOM 要素へと変

  • 1