タグ

JavaScriptに関するnaqtnのブックマーク (87)

  • 25+ JavaScript Shorthand Coding Techniques — SitePoint

    This really is a must read for any JavaScript developer. We’ve written this guide to shorthand JavaScript coding techniques that we’ve picked up over the years. To help you understand what is going on, we’ve included the longhand versions to give some coding perspective. If you want to learn more about ES6 and beyond, check out JavaScript: Novice to Ninja, 2nd Edition. 1. The Ternary Operator This

    25+ JavaScript Shorthand Coding Techniques — SitePoint
  • The Modern JavaScript Tutorial

    We want to make this open-source project available for people all around the world. Help to translate the content of this tutorial to your language!

    The Modern JavaScript Tutorial
  • バックエンドエンジニアのためのVue.js、React、Angular入門 - Qiita

    WEBシステム、WEBプログラム開発において昨今ではjQueryではなくVue.js、ReactAngularなどのJSフレームワークが主流となってきています。ただ、これらの活用は学習コストが高いといわれています。その原因はフロントエンドありきで話が進みすぎていたからだと考えています。したがって、自分の投稿記事は、jQueryを多用するWEBシステムエンジニアに向けた、フォーム操作をメインに置いた半備忘録兼自分なりに解釈した解説です。 ちなみに自分はサーバ構築からバックエンドまでこなしているワンオペエンジニアフリーランス、非正規雇用に非ず)です。 コンポーネント、ルーティング、スタイル周りの続編を作成しました(編集が困難になるほど容量圧迫してたので、それぞれで独立させています)。また、Vueは3.2から採用されたscript setup、Angularは14から採用されたスタンドアロン

    バックエンドエンジニアのためのVue.js、React、Angular入門 - Qiita
  • あなたが知らないJavaScriptの便利すぎるショートハンド19選

    日頃書いているJavaScriptをもっと短く書く方法を知っていますか? 目からうろこ、すぐに使えるJavaScriptのショードハンドを紹介します。 JavaScriptを使うすべての開発者に向けて、私が長年かけて身につけたJavaScriptのショートハンド(短縮記法)を資料にしました。コードの違いが分かるように通常の記述方法も併記しました。 1.三項演算子 if-else文を1行に収めた短縮記法です。 通常const x = 20; let answer; if (x > 10) { answer = 'is greater'; } else { answer = 'is lesser'; } ショートハンドconst answer = x > 10 ? 'is greater' : 'is lesser'; 従来のif文を1行に収めることも可能です。 const big = x >

    あなたが知らないJavaScriptの便利すぎるショートハンド19選
  • オブジェクトリテラルのプロパティ/メソッドのいろんな書き方(ES6版) - Qiita

    ECMAScript 6 がいよいよ標準仕様となり、ブラウザでの実装もより一層進んできています。 オブジェクトリテラルの書き方ひとつ取っても、大変多彩になりました。 var d = 42; var obj = { a: 42, "b": 42, 0: 42, ["c"] : 42, d, e(){}, get f(){}, set g(v){}, *h(){} }; これらを全て把握するだけでも一苦労です ここではそれぞれの書き方を、ひとつひとつざっくり見ていきたいと思います。 尚、ここで紹介するコードは、一部のブラウザでは動かないことがあります。 投稿時点で最新の GoogleChrome 44 であればすべて動作することを確認しましたので、よければそちらをお使いください。 var obj = { prop: value }; 一番慣れ親しんできた書き方だと思います。 しかしプロパティ名

    オブジェクトリテラルのプロパティ/メソッドのいろんな書き方(ES6版) - Qiita
  • JavaScriptが辿った変遷 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    JavaScriptが辿った変遷 - Qiita
    naqtn
    naqtn 2019/09/18
    なかなかの圧縮率
  • Passive Event Listeners によるスクロールの改善 | blog.jxck.io

    Intro DOM のイベントリスナの仕様に Passive Event Listeners というオプションが追加された。 このオプションは、主にモバイルなどでのスクロールの詰まり(Scroll Junk) を解決するために導入されたものである。 今回は、この仕様が解決する問題と、サイトへの適用を解説する。 Passive Event Listeners Spec Scroll Event の PreventDefault() 画面のスクロールに合わせたインタラクションを実装する場合、 Scroll Event にイベントリスナを登録する。 典型的な例では touchstart や touchend をフックし、その中で DOM の操作などを実施するなどがある。 場合によってはイベントリスナ内で preventDefault() を呼ぶことで、スクロールそのものを止めることもできる。

    Passive Event Listeners によるスクロールの改善 | blog.jxck.io
  • 昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog

    はじめに 最近JavaScriptのプルリクが来たので「よーしやったるでー」って感じでレビューしたんですが、まったく理解できずレビューになりませんでした。 その時疑問に思ったことをメモします。。 誰かの助けになれば幸いです。。 これはもう引退やな。。 classの中で function って書くの省略してるの? class TestClass { test() { 処理 } } function を省略して書けるのかなと思ったらそうではない。むしろ書いてはいけない。 下記はエラーになる。 class TestClass { function test() { 処理 } } PHPに慣れてるからか、もやもやする。 (a, b) => は無名関数なのはわかったけど function(a, b) じゃダメなの? (a, b) => は無名関数で function(a, b) と同じ。 好みの問題

    昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog
    naqtn
    naqtn 2019/09/14
    この文脈だと、エラーだったものが合法になるパターンがつらい。{Foo:Foo}が{Foo}で省略表記できるとか https://qiita.com/dondoko-susumu/items/aa79159d137c39251060
  • How to fix nasty circular dependency issues once and for all in JavaScript & TypeScript

    (this blog has a Korean translation here) In the many projects I have maintained so far, sooner or later I always run into the same issue: circular module dependencies. Although there are many strategies and best practices on how to avoid circular dependencies. There is very little on how to fix them in a consistent and predictable way. Usually, people move import statements or blocks of code rand

    How to fix nasty circular dependency issues once and for all in JavaScript & TypeScript
    naqtn
    naqtn 2019/09/12
    循環参照のあるクラス構造をES2015(ES6)モジュールに分解した時に生じる実行時エラーに対する一般的に使える回避実装パターン/共通の一つのモジュールにそれぞれ循環参照させる。利用モジュールはそれを参照する
  • Private Class Field の導入に伴う JS の構文拡張 | blog.jxck.io

    Intro ECMAScript の Private Class Field の仕様策定と各ブラウザの実装が進んでいる。 これにより、従来の JS にはなかった Class の Private フィールドが使えるようになる。 提案されている構文や、挙動について解説する。 Class Field Declaration まず前提として、現状の Class の フィールドはコンストラクタで定義する必要がある。 例えば count フィールドを持つ Counter クラスを定義した場合、以下のようになる。 class Counter { constructor() { this.count = 0 } increment() { this.count ++ } display() { console.log(this.count) } } const c = new Counter() c.in

    Private Class Field の導入に伴う JS の構文拡張 | blog.jxck.io
  • Coinhive事件裁判費用の寄付のお願い - 一般社団法人日本ハッカー協会

    目的での寄付の受付終了 2022年1月20日、最高裁判所において、Coinhive事件は逆転無罪判決となりました。これまでの皆様のご支援に深く感謝申し上げます。2022/1/20 2021年12月9日に最終弁論が開かれることになりました。2021/10/18 残念ですが、件の高裁判決は有罪となりました。当協会は最高裁まで支援致します。2020/2/7 目的の寄付を締め切りました。寄付者数はのべ1044名 合計金額 11,405,944円になりました。 2019/4/19 12:45 現時点までのべ825名の方から合計9,722,169円(仮想通貨、PayPay、協会への寄付を含む)のご寄付をいただきました。そのため、日受付分(※)をもって、目的の寄付の受付を一旦終了させていただきます。収支の詳細状況などに関しましてはページにて発信していきます。 #JHA_Coinhive 返礼

    Coinhive事件裁判費用の寄付のお願い - 一般社団法人日本ハッカー協会
  • Vue.js おすすめライブラリ 21選(おまけ+1) - Qiita

    どーも、8ビットエンジニアです。 今更感はいなめませんが、まとめます。 対象者 ・これからVue.jsを勉強する人 ・Vue.jsに興味がある人 ・npm or yarn をある程度理解している人 機能側 1. vue-chartjs vue-chartjsはvueのChart.jsのラッパーです。 再利用可能なチャートコンポーネントを簡単に作成できます。 デモ 公式ドキュメント 2. vue-fa Vue.js で使用するアイコンですね。 FontAwesome5 を使用しています。 公式ドキュメント 3. vee-validate vee-validateは、入力を検証してエラーを表示することを可能にする、Vue.js用のテンプレートベースの検証フレームワークです。 テンプレートベースであるため、値が変更された時にどの種類のバリデータを使用するべきかを入力ごとに指定するだけで済みます。

    Vue.js おすすめライブラリ 21選(おまけ+1) - Qiita
  • anime.js

    Anime.js (/ˈæn.ə.meɪ/) is a lightweight JavaScript animation library with a simple, yet powerful API. It works with CSS properties, SVG, DOM attributes and JavaScript Objects. Getting started

    anime.js
  • babel-preset-env を試す - アカベコマイリ

    npm として配布するものは純粋な Node 機能のみで構成したいため脱 Babelしたが、Web フロントエンドや Electron では最新の ECMAScript 機能を利用したい。 というわけで、これまでは Babel + babel-preset-latest で JavaScript を変換してきた。しかし latest だと Web ブラウザーや Electron が最新規格に対応しても個別に変換を無効化するのが難しい。例えば ES2015 Classes は大半の Web ブラウザーが対応済みにも関わらず var Sample = function () { function Sample() { _classCallCheck(this, Sample); } } のように変換されてしまう。一方、機能単位で変換を無効にできるとしても Web ブラウザー毎の対応状況を調べる

  • Node.jsのES Modulesサポートの現状確認と備え - teppeis blog

    追記: 2019/04/24 日リリースされたNode v12でESM周りの仕様が大幅に変更されました。 この記事の内容は既に古くなっているため、最新の情報は以下の公式ブログを参考にしてください。 Announcing a new — experimental-modules – Node.js Foundation – Medium 追記終了 この話を今日のNode学園で話すので、ご興味あればどうぞ。 nodejs.connpass.com (今日いくつか加筆修正しました) ECMAScript 2015で待望のES Modules(ESM)の仕様が策定されたものの実装がなかなか進まない、という話を1年前に発表した。 その後、ブラウザでのES Modules仕様が策定完了し、フラグ付きながら全主要モダンブラウザで初期実装が揃った (caniuse)。(dynamitterさん、kijt

    Node.jsのES Modulesサポートの現状確認と備え - teppeis blog
  • .mjs とは何か、またはモジュールベース JS とエコシステムの今後 | blog.jxck.io

    Intro 長いこと議論になっていた ES Modules の Node における扱いに一応の決着が付き、 .mjs という拡張子が採択された。 この拡張子の意味と、今後ブラウザと合わせて Universal JS を実装していく上での作法が見えてきたことになる。 合わせてエコシステムが対応していくことで、長年の夢だった JS のモジュール化を進めていくことができるだろう。 ES Modules 徐々に揃いつつある ES Modules(ESM) の仕様は TC39 で行われており、その仕様については主に以下のような部分になる。 import や export と行った構文 module 内はデフォルト strict mode module でスコープを閉じる module 内の this は undefined etc 逆に以下は TC39 での策定範囲外となる どう Module を読

    .mjs とは何か、またはモジュールベース JS とエコシステムの今後 | blog.jxck.io
  • ES Modules Syntax

    import { bar } from "./bar.js"; // -> OK { export piyo; // -> Syntax error (is not top level block) } if (flag) { import foo from "./foo.js"; // -> Syntax error (is not top level block) } import { buz } from "./buz.js"; // -> OK function bar() { export let buz = 1; // -> Syntax error (is not top level block) } export piyo; // -> OK import ... は、コードの途中や末尾に記述されていてもコードの先頭に書かれている物として解釈されます。これは JavaScr

    ES Modules Syntax
  • Vueを昔触った後Reactをどっぷり触ってもう一回Vueを触ってReactに戻って得た感想

    最近ReactVueをどっちも触る機会があったり、「ReactVueどう選定するの?」という問いを投げられ、スッと答えられなかったな、と後悔があったりしていたので、Vueを触って得られた感想をまとめてみる。 結論としてなにか新しいことを発見したというものではなく、世間で言われている事を自分なりに再構築しただけの結論になったと思う。 TL; DRVueからは全体的に優しさ(Gentleさ)を感じる事が多く、良い点だと感じた大規模になるときReactの堅牢さは魅力的。Vueが大きくなった時に支えられ設計が出来るかは個人的には懐疑的。「こうだったらVue、こうだったらReact」みたいな分岐点があるというわけではないので、最終的には好みになってくると思う。ぞうさんが好きかきりんさんが好きか。これまでのフレームワーク遍歴今回の話をするにあたって、僕と各フレームワークの付き合いをまとめておくと、

  • WebApp/2 作ってます。HTTP/2 + ESModules は安くて速くて美味しいよ! - latest log

    最近 WebApp/2 というのを作ってます。 WebApp/2 は2012年頃から温めていた「ES6 + ESModules を使い、開発初期〜中期は Bundler や Transpiler を使用せずに開発を進められるようにしたい」というアイデアを具現化したものです(細かい仕様は wiki にあります)。 作り始めて20日ほどですが、昨日までの WebApp/2 には、以下の課題や疑問が存在しました。 WebApp/2 は一般的なトレンド [要出典] から大きくJUMPしている。世の中には webpack, babel, browserify を前提に書かれた ES5/ES6 なコードが大量にあるが、それらを ES6+ESModulesに変換するための シンプルで将来取り外しが効くマイグレーションパスが見つかっていない ファイルを事前結合しない場合の パフォーマンスのトレードオフがど

    WebApp/2 作ってます。HTTP/2 + ESModules は安くて速くて美味しいよ! - latest log
  • An Overview of JavaScript Testing in 2020

    (Updated on: 21.11.2021) This guide is intended to catch you up with the most important reasoning, terms, tools, and approaches to JavaScript testing for the year 2022. It combines information from the best articles recently released (they are referenced at the bottom) and adds from my own experience. It’s a little long but whoever reads and understands this guide, can safely assume they know the

    An Overview of JavaScript Testing in 2020