タグ

JavaScriptに関するsakimoridotnetのブックマーク (553)

  • node_modulesの問題点とその歴史 npm, yarnとpnpm

    皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

    node_modulesの問題点とその歴史 npm, yarnとpnpm
  • jQueryへの別れ:現代的な開発のための必須JavaScriptメソッド - Qiita

    はじめに 私は長い間レガシーコードと共に仕事をしてきましたが、jQueryの重要性は依然として頻繁に話題に上がるトピックの一つです。ライブラリ自体は便利なままですが、それは別の時代のニーズを完璧に満たしていました。 現在、私たちは既にES2023について話していますが、過去にjQueryがカバーしていたほとんどの機能は、すでに2015年にリリースされたES6に取り込まれています。 ES6の標準は既に広範にサポートされており、96%のレベルに達しています(出典:caniuse.com)。そのため、特に要素の選択、スタイリング、アニメーション、データの取得などの基的なタスクについては、ライブラリの使用を見直す良いタイミングかもしれません。 以下のトピックは、いくつかの標準的なjQueryのパターンと、それに相当するバニラJavaScriptでの手法を示す参考資料として役立つと思います。 要素

    jQueryへの別れ:現代的な開発のための必須JavaScriptメソッド - Qiita
  • head内の各要素とその重みをリスト化し、プライオリティが高い順に並べ替えてくれるツール -capo.js

    head内に記述する要素の順番はページのパフォーマンスに影響を与える可能性があります。記述の順番が間違っている要素を特定し、プライオリティが高い順にしてくれるツールを紹介します。 指定したページのhead内の各要素とその重みをリスト化し、プライオリティが高い順に並び替えたものもリスト化してくれます。 2023年最新版: HTMLのheadの書き方、head内に記述する要素の総まとめ capo.jsの使い方 capo.jsを実際に使ってみた capo.jsの使い方 capo.jsを使用するには、2通りの方法があります。 デベロッパーツールのスニペットで実行する ブックマークレットで実行する 手順は簡単です。 capo.jsのJavaScriptをコピーします。 コピーしたJavaScriptをデベロッパーツールのスニペットで実行するか、ブックマークレットを作成します。 ※ブックマークレットは

    head内の各要素とその重みをリスト化し、プライオリティが高い順に並べ替えてくれるツール -capo.js
  • なんで JavaScript ではなく TypeScript を使うのか?

    この記事の目標 「最終的に JavaScript になるのに、なんでわざわざ TypeScript を使うべきなのか? JavaScript で良くない?」 という質問に答えられるようになる なぜ TypeScript を使うべきなのか? いきなり結論を書きます。 A. 実行時エラーの少ない JavaScript を使いたいから TypeScript で書かれたコードはコンパイルが通らないと JavaScript に変換できません。そのため、生成される JavaScript コードは必ずコンパイルに成功したものです。コレが TypeScript を使っていて一番嬉しいポイントです。 まあ、いきなり結論を書いてもよく分からないと思います。順に話していきます。 型エラーとはなにか TypeScript でコンパイルを通すには、コード上の型エラーを無くす必要があります。 型エラーとは、型システム

    なんで JavaScript ではなく TypeScript を使うのか?
  • そもそもnpmからわからない

    はじめに やっぱりwebpackがわからない(エピソード1)、エピソード2を公開しているのですが、そもそもnpmからわからない、という人もいると思いますので、今回はnpmに関して説明します。 なお、やっぱりwebpackがわからないではViteに関して触れていますが、Node.jsもDenoという新しいランタイム環境が登場しています。ですが、やはりまだ開発現場で使用するには難しいと思いますので、Node.jsを使用するうえでnpmはちゃんと理解しておいた方がいいです。 npmとは npm とはNode.jsのパッケージを管理するシステム、所謂パッケージ管理システムです。アプリケーションを作成する際、便利なパッケージをそのプロジェクトにインストールして、使用することができます。 ところで、パッケージとは一体何なのでしょうか? パッケージとは システム開発ではモジュール、パッケージ 、ライブラ

    そもそもnpmからわからない
  • ユーザー操作の一括無効化で役立つ! HTMLのinert属性の紹介 - ICS MEDIA

    HTMLCSSには、ユーザーインタラクション(ユーザー操作)を無効化するための方法がいくつか存在します。たとえば、マウスやタッチ操作を無効化したいときはCSSでpointer-events: noneを要素に指定するなど、制御したいユーザー操作によってさまざまです。 カルーセルやモーダルなユーザーインターフェイス(UI)では、非アクティブな要素が操作されないように「画面には表示されているが、あらゆるユーザー操作を受け付けない状態」にしたい場合があります。具体的には、以下のユーザー操作を無効化します。 マウスやタッチ操作を無効化したい テキスト選択を無効化したい キーボードフォーカスをあえて無効化したい 音声読み上げをあえて無効化したい 必要なプロパティや属性を複数指定することが考えられますが、そのようなときに役立つのがinertイナートと呼ばれるHTMLのグローバル属性です。 inert

    ユーザー操作の一括無効化で役立つ! HTMLのinert属性の紹介 - ICS MEDIA
  • npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba

    うりうりさんの↓のコメントを見て、そういえばnpm ciって見たことあるけどチェックしてないなぁ。というかnpm installも雰囲気で使ってるなぁ。と思ったので、うりうりさんに教えてもらったことを手がかりに、npm installとnpm ciについて調べた。 これ、node_modulesキャッシュしてたり npm install使ってるけど npmのグローバルキャッシュ(~/.npm)をキャッシュした上で npm ciで早くなったりしないんだろうか GitHub Actions上でテストを約3倍早くした話https://t.co/MpmFktGBxU— wreulicke (@wreulicke) March 14, 2023 ちょこっと検索して見てみたところ、新旧情報があって自分が混乱したのと、公式ドキュメントには概要は書かれているものの詳しい内容は書かれていないので(僕が見つけ

    npm install と npm ci って結局どう使うの?2023年版 - Mitsuyuki.Shiiba
  • JSON にもコメントを書きたい - Qiita

    そう、JSON にはコメントを記載するための構文がないのです。近年では設定ファイルなどで利用されることも多い JSON ですが、コメントによる説明が不要なキーを名付けることは現実的ではありません。どうしよう、困ったな。 TL;DR コメントをつけるだけなら JSONC を使いましょう。 (2020-02-17追記) 各フォーマットの比較などに使えるデモページを公開してみました。 (2020-03-15追記) 続編を書きました。 どうしても JSON にコメントを書きたい 同じようなことに悩む先人は多いため、インターネット上には様々なアイデアが提案されています。 たとえば JSON Schema Core Draft 2019-091 では以下のような記述があります: 8.3. Comments With "$comment" This keyword reserves a location

    JSON にもコメントを書きたい - Qiita
  • 必要なのはJavaScriptの基本的な知識だけ 3Dアニメーション制作をお手軽にする「Three.js」の魅力 | ログミーBusiness

    エンジニア同士の情報共有を目的としたコミュニティ「ふわふわエンジニアタイム」が主催する「Markup Meetup」。3回目の今回は、フロントエンドエンジニア、マークアップエンジニア、コーダー、デザイナーの垣根なく、HTML / CSS / JavaScript に関わるナレッジを共有する場として開催されました。ここで登壇したのは、株式会社ゆめみの佐々木祥晶氏。導入事例を交えながら「Three.js」の魅力、メリット・デメリットを語りました。 株式会社ゆめみ所属・新人フロントエンドエンジニア佐々木祥晶氏:それでは発表いたします。題目は、「Three.js の魅力を語る」です。 目次ですね。最初に軽く自己紹介をして、編で「『Three.js』とは何ぞや?」とか、そういったことをいろいろ話していき、最後に軽くまとめをしていければなと思っています。 では、軽く自己紹介を。初めまして、佐々木祥晶

    必要なのはJavaScriptの基本的な知識だけ 3Dアニメーション制作をお手軽にする「Three.js」の魅力 | ログミーBusiness
  • 書籍執筆しました!『1冊ですべて身につくJavaScript入門講座』

    書籍執筆しました!『1冊ですべて身につくJavaScript入門講座』これまでHTMLCSSWordPressの入門書を書いてきた私ですが、このたび新たにJavaScriptの入門書、『1冊ですべて身につくJavaScript入門講座』というを執筆しました!2023年3月1日発売で、日より予約開始です! カバーイラストはこれまでと同様ICHIRAKU STUDIO 様に描いていただきました!今回も素敵なイラストをありがとうございます! こんな人におすすめWeb サイトに動きをつけてみたい人HTMLCSS の基礎を学んだあと、何を勉強しようか考えていた人一度 JavaScript を勉強したけど挫折した人最近の JavaScript の書き方を学びなおしたい人jQuery を卒業したい人JavaScript ってなんだろう?というところから、動きのある Web ページを作ってみ

    書籍執筆しました!『1冊ですべて身につくJavaScript入門講座』
  • JavaScriptをもうちょっと理解する54のトピック - Qiita

    この記事について JavaScriptはお好きですか? Reactなどフロンドエンドを中心に人気の言語なので、触ってる人はたくさんいると思います。 奥深くて自分も好きな言語ですが、結構なんとなくで触っていたりしませんか? 今回は自分が後輩によく聞かれた事や、自分が引っかかった事をたくさん書いていきます。 つまり基的には初心者向け、よくても中級者向けです。 何か一個でも知らない事があれば御の字のつもりで書いたので、ぜひ気軽に読んでください! JavaScript編 略称はJS、Javaダメぜったい いなさそうなのに稀にいるという・・ Web開発から入ってプログラムを広く知らない場合に発生しやすい? Javaは全く別に王者がいるので、万が一使っていたららやめましょう。 略称は JS(じぇーえす) でお願いします。 データ型、Object Objectはキーと値をいくつも持てるJSのデータ型で

    JavaScriptをもうちょっと理解する54のトピック - Qiita
  • 現代の JavaScript チュートリアル

    私たちはこのオープンソースプロジェクトを世界中の人々に提供したいと考えています。このチュートリアルの内容をあなたが知っている言語に翻訳するのを手伝ってください。

    現代の JavaScript チュートリアル
  • 変数スコープ、クロージャ

    JavaScript は非常に関数指向な言語であり、これにより多くの自由があります。ある時点で作成した関数を別の変数にコピーしたり別の関数に引数として渡し、後でまったく別の場所から呼ぶことができます。 私たちはすでに関数がその外(“外側” の変数)にアクセスできることを知っています ですが、関数が作成されたあとで外側の変数を変更すると何が起きるでしょうか?関数は最新の値 or 古い値どちらを取得するのでしょうか? また、関数がパラメータとして渡され、別のコード部分から呼び出される場合、新しい場所での外側の変数にアクセスできるのでしょうか? これらのシナリオやより複雑なシナリオを理解するために、知識を広げていきましょう。 JavaScript では変数を宣言する方法が3通りあります: let, const(モダンな方法),とvar (過去の名残)です。 この記事では、例には let を使用し

    変数スコープ、クロージャ
  • 最近のフロントエンドフレームワークに対する認識とお気持ちの整理 - console.lealog();

    久しぶりに、いわゆるポエムを。 新規・運用ヘルプを問わず、受託や副業でよくフロントエンドをやってるWeb屋の見解、そして手札のお悩み。 この先、また技術選定する際なんかにも参考になるかと思ったので。 React 「いまフロントエンドやるなら最初に覚えるべき!」は、もう過去の話かなーと個人的には思ってる。 Reactは`UI = fn(state)`なのが良い!とか言われるけど、あなたが必要としてるのは`UI = Component(props)`かもよって。 一昔前までは、たしかにあらゆる面で頭一つ抜けてる印象はあったけど、今はそうでもないか、その差はだいぶ埋まってきてると思ってる。(もちろん先行者利益みたいなところで、エコシステムはまだまだ優位な差があるかもしれんけど、それもあまり実感できたことはないし、いまからはじめる人はそんなんで困らんやろうし) 原初の時代からReactな案件をそれ

    最近のフロントエンドフレームワークに対する認識とお気持ちの整理 - console.lealog();
  • JavaScriptのreplace関数を使って文字列の置換をしてみよう - TECH PLAY Magazine

    プログラミングをしていると「改行コードを一括でHTMLの<br>に置き換えたい」といった場面がよくあります。JavaScriptで文字列を置換するにはどうすれば良いでしょうか?JavaScriptに用意されているreplace関数を使いこなすことで、文字列を容易に置換することができます。何かと役に立つJavaScriptのreplace関数と様々な置換の方法を解説します。 文字列を置換するための関数は多くのプログラミング言語に標準で用意されています。JavaScriptで文字列を置き換えるにはどうすれば良いでしょうか? まず、JavaScriptのreplace関数について解説します。その後、正規表現での置換など様々な置換の方法を実際のサンプルコードで解説します。JavaScriptのreplace関数を活用して文字列の置換を行ってみましょう。 JavaScriptの文字列置換関数:rep

    JavaScriptのreplace関数を使って文字列の置換をしてみよう - TECH PLAY Magazine
  • reduceの使い方メモ(主に集計目的) - Qiita

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

    reduceの使い方メモ(主に集計目的) - Qiita
  • JavaScript配列への reduce() の使いどころ・実用例をいくつか紹介 | PisukeCode - Web開発まとめ

    JavaScriptの配列には reduce() があります。 ▼ Array.reduceメソッドのMDNでの解説 reduce() メソッドは、配列のそれぞれの要素に対して、順番通りに、ユーザーが提供した「縮小」コールバック関数を呼び出します。その際、直前の要素における計算結果の返値を渡します。配列のすべての要素に対して縮小関数を実行した結果が単一の値が最終結果になります。 引用元 : https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce この説明にもあるように・・・ 「直前の要素における計算結果の返値」 要素それぞれに独自コールバックを実行し、 その結果を1つの単一値にできる便利なものです。 この表現だと意味不明だと思うので…… いくつかArray.redu

    JavaScript配列への reduce() の使いどころ・実用例をいくつか紹介 | PisukeCode - Web開発まとめ
  • reduceを使って文字をアニメーションさせる方法【Javascript】

    今回、javascriptのreduceについてまとめたのでメモ。 reduceを使って文字のアニメーションを実装するサンプルも作成しました。 reduceはどんなことができるか reduceは配列の値を順番に処理するメソッドです。ちなみにreduceは英語で「まとめる」という意味があります。 その言葉通り、コールバック関数で返ってきた値を累積して1つの値にまとめます。 基構文は次の通りです。 const result = arr.reduce(callback( accumulator, currentValue, index, ary), defaultValue); 変数resultに累積した値が格納されます。 引数の詳細は次の通りです。 accumulator: callbackの戻り値 currentValue: 現在処理している値 index: インデックス ary: red

    reduceを使って文字をアニメーションさせる方法【Javascript】
  • アロー関数が便利な理由と使いどころ - Qiita

    始めに 今年こそはちゃんとES6の書き方を身につけたい!何となくで書くのを卒業したい!(Reactも実務で使いこなせるようになりたい!)という事で、手始めにJSの挙動で、理解がイマイチなポイントを言語化して理解していこうと思います。今回はアロー関数とthisについて、MDNを読みながら、まとめました。 対象読者 ・JavaScript初心者 ・これからES6の記法を勉強したいと思っている方 アロー関数とは アロー関数はES6から使えるようになったJSの構文の一つで、無名関数の省略記法です。 以下の理由から導入されました。 2 つの理由から、アロー関数が導入されました。 1 つ目の理由は関数を短く書きたいということで、 2 つ目の理由は this を束縛したくない、ということです。 MDN アロー関数 まずは、無名関数を短く書くという側面から。 ES5までの関数の書き方と比較すると以下のよう

    アロー関数が便利な理由と使いどころ - Qiita
  • Javascript入門編 – ワードプレステーマTCD

    語サイトで必要?WordPressプラグイン「WP Multibyte Patch」とは 2025.08.28

    Javascript入門編 – ワードプレステーマTCD