タグ

JavaScriptに関するjytechのブックマーク (177)

  • JavaScriptビルドツール徹底ガイド──歴史と進化、LINEヤフーの技術選定 - Findy Tools

    記事は、LINEヤフー株式会社のフロントエンドスペシャリスト、浜田真成さんによる寄稿です。 JavaScriptのビルドツールについて、その役割や歴史的な変遷をたどりながら、2025年現在の主要ツールの特徴と選定ポイントを解説します。LINEヤフーでのユースケースも交え、アプリケーション開発における最適なビルドツール選びの参考となる内容です。 はじめにこの記事は、Web開発におけるJavaScriptのビルドツールの役割やその特徴について解説するものです。 2025年現在までのビルドツール事情を整理し、アプリケーション開発者が「どのビルドツールを、何の目的で選択すべきか」を判断する1つの指針となれば幸いです。 1. ビルドツールの役割と歴史的変遷1-1. ビルドツールがなぜ必要なのかWebアプリケーション開発では、JavaScriptを用いることが主流です。 一方で、JavaScript

    JavaScriptビルドツール徹底ガイド──歴史と進化、LINEヤフーの技術選定 - Findy Tools
  • JavaScript三十六景Tips集

    [背景] このようなまとめが欲しかった。 LeetCodeを解きながら長い間書き留めてきたJavaScript Tips集です。 チーム開発ではもちろん可読性が重視されますので、その点もご留意ください。 elseブロックを段落で表現する if(!l1) return l2 else if(!l2) return l1 else if (l1.val <= l2.val) // ...some else return l2

    JavaScript三十六景Tips集
  • 夏休みの終わりこそ復習しておきたい、ES2016以降のモダンJavaScript再入門

    はじめに 夏も終わりに近づいてきましたね。みなさん夏休みはいかがお過ごしでしょうか?海に山に、はたまたエアコンの効いた部屋でJavaScriptでコーディング三昧もアリかなと思ったりもします。ところで、コーヒー片手にコードを書きながら、「うわっ...私のJavaScript、古すぎない...?」とふと思ったことがありませんか? ECMAScript 6(以下ES6)が正式リリースされた2015年からかれこれ10年も経ちましたね。ES6はPromise、クラス構文やアロー関数など強力な機能を一気に導入しました。ES3から約10年間で標準仕様の策定がほぼ停滞状態だったJavaScriptにとって起死回生と言っても過言ではない節目でした。 もし手元にTypeScriptを使っているプロジェクトがあれば、tsconfig.jsonを覗いてほしい。高い確率でコンパイルのtargetにES6もしくはE

    夏休みの終わりこそ復習しておきたい、ES2016以降のモダンJavaScript再入門
  • なぜ現代のJavaScriptフレームワークはどれも似てきているのか?

    数年前、フロントエンドフレームワークを選ぶことが「派閥争い」のようだった時代を覚えていますか? React陣営: JSXを天才的な設計だと絶賛する一方、反対派はそれを「HTMLとJSの奇怪な混合物」と呼んだ。 Angular陣営: 静的型付けとフル装備のソリューションに固執し、Vueファンからは「重すぎる」と揶揄された。 Vue陣営: 使いやすさと柔軟性を両立する中庸の道を行くと自負していた。 コミュニティの議論では、各々が言語機能、アーキテクチャ思想、エコシステムツールについて互いに「皮肉を言い合う」のが日常茶飯事でした。 しかし2025年の現実は、これらのフレームワーク間の差異は縮小し、時には新しいフレームワークに切り替えても、開発体験やAPIのスタイルがほとんどシームレスに移行できるほどになっています。 なぜこのような収束傾向が起きているのでしょうか?その背後には、技術の自然な進化だ

    なぜ現代のJavaScriptフレームワークはどれも似てきているのか?
  • 七章第四回 ノードをまとめて扱う:DocumentFragment — JavaScript初級者から中級者になろう — uhyohyo.net

    七章第四回 ノードをまとめて扱う:DocumentFragmentこのページの最終更新日:2018年7月29日 今回解説するのは、DocumentFragmentというものです。これは、題名の通り、複数のノードをまとめて扱うのに必要なものです。 実はこれはノードの一種です。つまり、「テキストノード」とか「要素ノード」とかと同じように、「DocumentFragment」という種類のノードがあるのです。 ノードの一種だから、appendChildなどで子ノードを追加したり、あるいはcloneNodeでDocumentFragment自身をコピーしたりもできます。 このDocumentFragmentはどういった意味を持つノードなのかということですが、典型的な説明としては「小型のdocumentのようなものである」とされます。 つまり、DocumentFragmentは、ひとつの独立した木構造

    七章第四回 ノードをまとめて扱う:DocumentFragment — JavaScript初級者から中級者になろう — uhyohyo.net
  • Vue, Nuxt, React, Next.js の特徴・役割・使いどころを整理する - Qiita

    2025年7月時点の npm trends は以下の通りです。 Vue ― 小さく始めて大きく育てられる「プログレッシブフレームワーク」 Vue は 「プログレッシブフレームワーク」 として紹介されています。 「プログレッシブ」とは、小さな機能から段階的に導入でき、必要に応じてフル機能のフレームワークへと拡張できる柔軟性を指します。 例えば、既存のWebサイトにあるお問い合わせフォームや商品の絞り込み検索ウィジェットなど、特定の「動く部分」だけをVueで開発し、既存のHTMLに <script> タグを数行追加するだけで組み込めます。 <body> <h1>私の素敵なWebサイト</h1> <div id="app"> <button @click="count++">カウント: {{ count }}</button> </div> <script src="https://unpkg.

    Vue, Nuxt, React, Next.js の特徴・役割・使いどころを整理する - Qiita
  • JavaScriptの「関数まわり」応用まとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

  • 私がJavaScriptで挫折した話(+ 乗り越えた方法)【後編】

    この記事の筆者:三好アキ 🟢 専門用語なしでプログラミングを教えるメソッドに定評があり、1200人以上のビギナーを、最新のフロントエンド開発入門に成功させる。 🟢『はじめてつくるReactアプリ with TypeScript』、『動かして学ぶ!Next.js/React開発入門(翔泳社/*韓国でも出版)』著者。 ▼ Amazon著者ページはこちら amazon.co.jp/stores/author/B099Z51QF2 JavaScriptで挫折しました JavaScriptで挫折したため、最終的なゴールであるReact学習に進めなかった話を前編でしました。 今回はそれを乗り越えた時の話です。 小さな成功体験 当時私はヨーロッパに住んでいたのですが、カフェの2階でぼんやりと、またいつものようにネット上のJavaScript教材を漁っていました。 いくら目を通しても、よく意味がわから

    私がJavaScriptで挫折した話(+ 乗り越えた方法)【後編】
  • 【超有料級】非同期処理がスッと理解できる魔法のレッスン。今日からあなたも非同期の魔法使い! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 今回の記事では、多くの人が一度はつまずいたり、挫折した経験のある「非同期処理」について解説します。 「非同期処理」と聞いて、「うわ、無理…」「なんか苦手…」と感じる人も少なくないのではないでしょうか? 実は、僕自身もこの分野がめちゃくちゃ苦手でした。 プログラミングの処理は基的に、上から下へ順番に実行されていきます。しかし、非同期処理では処理の途中で他の処理を実行し、非同期のタスクが完了したタイミングでその結果を使って画面を描画したり、データベースにアクセスしたりします。 たとえば画像表示サイトでは、ユーザー情報の取得を待た

    【超有料級】非同期処理がスッと理解できる魔法のレッスン。今日からあなたも非同期の魔法使い! - Qiita
  • 🎯【保存版】JavaScriptの「Arrow関数 vs 通常関数」完全理解!現場での使い分け&落とし穴🔥 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    🎯【保存版】JavaScriptの「Arrow関数 vs 通常関数」完全理解!現場での使い分け&落とし穴🔥 - Qiita
  • 【JavaScript】このasync/awaitの実行順、自信を持って説明できますか? - Qiita

    驚いたかもしれません。この3つのコードの出力結果は、すべて同じ 「1, 2, 3」です。 (全問正解できた方、素晴らしいです。) しかし、「なぜnew Promiseの中の処理が先に実行されるのか?」、あるいは「awaitの有無で何が違うのか?」といった点に、少し戸惑いはありませんでしたか? このような直感的ではない挙動こそ、 JavaScriptの非同期処理の「クセ」 とも言える部分です。 この記事では、あなたが今まで何気なく使っていた非同期処理について、その仕組みから深く理解することを目指します。 まずはその第一歩として、「非同期」という言葉そのものの意味から確認していきましょう。 そもそも非同期(asynchronous)とは まずは言葉の定義から見ていきましょう。IT用語辞典 e-Wordsでは、以下のように説明されています。 複数の主体がタイミングを合わせずに通信や処理を行う方式

  • 【JavaScript】MDNが推奨する最強の書き方 - Qiita

    はじめに MDNのドキュメントを眺めていたら、JavaScript のサンプルコードの作成ガイドラインという章を見つけました。第三者にコードを公開するような人向けにまとめられたものですが、正しい書き方の実践としてみることができるので、クローズドなプロジェクトの中でも使えるかもしれません。ただ、モノによってはチームで決めた慣習とい違うこともあるかもしれないので、採用はケースバイケースになると思います。 上記のページが紹介された記事があまり見当たらなかったので、折角なので共有してみようと思います。あと、ところどころ補足を付け加えています。 対象読者 基的には初心者向け ただ、幾つかは中級者の方でもためになるものがあるかも? 規則の一般性 ☆:よく見かける書き方。一般的 ☆☆:あまり見かけないかもしれない書き方。あるいは、意識的には規則づけられてなかった書き方 ☆☆☆:クローズドなプロジェク

    【JavaScript】MDNが推奨する最強の書き方 - Qiita
  • フロントエンド API コール時のエラーハンドリングを軽く整理(Fetch API・typescript-fetch・TanStack Query) - カミナシ エンジニアブログ

    カミナシのソフトウェアエンジニア佐藤です。カミナシレポートの開発に携わっています。 フロントエンドのエラーは「画面リロードやブラウザ再起動で復旧できる(かもしれない)」「クラッシュしてもユーザーの端末に閉じる」などの理由から、バックエンドよりは精緻に扱われない傾向があると個人的には感じています。 その一方、カミナシレポートは、ノンデスクワーカー向けの不安定なネットワーク環境で利用されることも多々あるアプリです。そのため、デジタルツールに不慣れな方のために精緻なフィードバックが必要とされる、リロードに頼ることが難しいケースがある、などの理由でエラーの扱いにも慎重になる必要があります。 記事では、カミナシレポートのフロントエンド開発をする中で、 バックエンドの API コール時にエラーが発生する条件とその内容(型・クラス) これらエラーをハンドリングする箇所 について、把握しておきたいと感じ

    フロントエンド API コール時のエラーハンドリングを軽く整理(Fetch API・typescript-fetch・TanStack Query) - カミナシ エンジニアブログ
  • Motion — JavaScript & React animation library

    Motion. A production-grade animation library for React, JavaScript, and Vue. Motion. A production-grade animation library for React, JavaScript, and Vue.

    Motion — JavaScript & React animation library
  • JavaScript で関数はオブジェクト? なにそれ?

    はじめに JavaScript をある程度書いていると、「関数はオブジェクトでもある」という話を耳にしますよね。そして、「そんなの知らないよ。はいはい。」と右から左に聞き流しているあなたのためにこの記事を書きました。 Function オブジェクトのプロトタイプチェーンや内部スロット、コンストラクタとしての使い方、bind/call/apply の仕組み、Arrow Function や Generator Function、Async Function など、JavaScript の関数が持つさまざまな特徴を解説します。 関数がオブジェクト?? まず最初に、JavaScript の関数は Object を継承した「呼び出せるオブジェクト(callable object)」です。つまり関数として呼び出し可能であるだけではなく、プロパティを持つことができます。関数名を変数のように扱ったり、他

    JavaScript で関数はオブジェクト? なにそれ?
  • 【デモあり】Swiperでプログレスバーを実装する方法 - 株式会社TANE-be|大阪にあるWebサイト制作

    こんにちは、TANE-beエンジニアです。 今回はスライダーとプログレスバーを実装してみたいと思います。 スライダーにはSwiper.jsを使用します。 まずはデモページをご覧ください。 画像の下で動いている黄色のバーがプログレスバーです。 プログレスバーを実装すると、現在見えていないコンテンツが存在し切り替わることがわかりやすくなります。スライダー内容を見せるために速度を落としたい箇所や、スライダーとわかりにくい箇所に実装すると効果的です。 同じ効果をもつ仕様としては、左右のコンテンツを示すボタンや、ページナビゲーションのドットなどを実装することもありますね。 ボタンやページナビゲーションはデフォルトに機能で実装が可能なことが多いですが、プログレスバーは少し自分でコードを書く必要があります。今回はその実装をご紹介していきます。 簡単に実装できるので、ぜひ試してみてください。 swiper

    【デモあり】Swiperでプログレスバーを実装する方法 - 株式会社TANE-be|大阪にあるWebサイト制作
  • 素のJavaScriptでアコーディオンメニューを作る(クリックで開閉・jQueryなし・WAI-ARIA対応)|BringFlower

    クリックで開閉するアコーディオンメニューを素のJavaScript(Vanilla JS)で制作する方法を解説します。ここでご紹介する内容は、他のサイトで紹介されているコートだと達成したい仕様が満たされなかったり、実装の仕方が悪いのか挙動がおかしかったりしたので、自作したものです。 使いまわしもしやすいコードで使いやすいものになっていると思いますので、ぜひご活用ください。 またウェブアクセシビリティのためのWAI-ARIAも対応しています。 実装結果デモ まずは実装した結果をご確認ください。 後述する仕様のうち、アコーディオンを開いた時にスクロールを許容する部分はスクロールバーが存在するCODEPENだと表現が難しかったので、その点は別途ご自分でご確認いただければと思います。 See the Pen Accordion by Takahiro Inada (@tkhr1) on CodeP

    素のJavaScriptでアコーディオンメニューを作る(クリックで開閉・jQueryなし・WAI-ARIA対応)|BringFlower
  • 【JavaScript】ドロップダウンメニュー(メガメニュー)を作る : タッチデバイスやキーボード操作対応! | Code.Yu

    ホーム/ブログ/JavaScript/【JavaScript】ドロップダウンメニュー(メガメニュー)を作る : タッチデバイスやキーボード操作対応! 形だけ作ろうと思えば、CSSだけでも簡単に作れてしまうドロップダウンメニュー(メガメニュー)ですが、タッチデバイスやキーボード操作まで考慮すると、意外と奥が深く難しかったりします。 今回は「どんなデバイス」でも「どんな操作方法」でも、使いやすいドロップダウンメニューを作ってみます。 ドロップダウンメニューは「クリック」と「ホバー」どちらで展開するべきか? 以下の理由から、「ドロップダウンメニューはクリックで展開するべき」と個人的には考えています。 (ホバーを否定する気はなく、両者にメリデメが存在します。) ホバー操作は主にPC特有の操作方法ですが、クリック操作はタッチデバイスとPCで共通の操作方法になります。どのデバイスでも操作を統一するほう

    【JavaScript】ドロップダウンメニュー(メガメニュー)を作る : タッチデバイスやキーボード操作対応! | Code.Yu
  • 歴史を感じつつ、クロージャで遊んでみた(JavaScript編) - iimon TECH BLOG

    こんにちは!株式会社iimonでフロントエンジニアをしている「ひが」です! 記事はアドベントカレンダー19日目の記事になります! 先日夢で「メリークロージャマス!!!」と叫んでスベる夢を見ました。 冬だからか、みなさん冷たかったです(現実では暖かいです) そのようなこともあり、思い切って記事にしてみようと思いました! どうか、暖かい目で見守っていただけると嬉しく思います!! 題ですが、みなさんはクロージャをご存知でしょうか。 MDNよりお言葉を借りると クロージャは、組み合わされた(囲まれた)関数と、その周囲の状態(レキシカル環境)への参照の組み合わせ です! 初見だと何言ってるかよくわからないですよね。 記事でざっくり掘っていきますので、是非一緒に見ていただければ幸いです! ※ 記事は基的にMDNの内容に沿う形で進めつつ、たまに脱線したり小ネタを挟んだりします ※ コード

    歴史を感じつつ、クロージャで遊んでみた(JavaScript編) - iimon TECH BLOG
  • JavaScriptのイテレータ, イテラブル, ジェネレータを理解する!

    お久しぶりです。GMOインサイトの天河です。 ついこの間、JavaScriptのジェネレータについて社内勉強会で発表したのでその内容をまとめます。 ※ 注意 記事で言及している「ジェネレータ」はJavaScriptでの言語仕様です。一部通ずる箇所もあると思いますが、Python や C# など他の言語での使われ方についてはしかるべき文献を見てください。 目的 ジェネレータ が何かわかるようになる ジェネレータについて面接で聞かれても余裕で答えられるようになる 実装時にジェネレータを選択肢として持てるようになる 対象読者 ジェネレータ が何か全くわかっていない人 ジェネレータ について認知はしているものの、どういうものかは把握していない人 ジェネレータ を知ってはいるものの、使い所がわからない人 はじめに ジェネレータを理解するためには、「イテレータ」と「イテラブル」について知る必要があり

    JavaScriptのイテレータ, イテラブル, ジェネレータを理解する!