タグ

Qiitaとjavascriptに関するyuki_2021のブックマーク (23)

  • 超簡単にChromeの拡張機能を作ってみる【誰でもできるよ】 - Qiita

    はじめに みなさんはChrome拡張機能を使っていますか? 僕も使っていますが、案外Chrome拡張機能を作るのは簡単です。 今回は、普段の業務の効率を上げるのも兼ねて自作してみました! 最低限準備するもの manifestファイル Javascriptファイル ぶっちゃけ、これだけで動きます。 実際に作ってみよう それでは実際に作成していきましょう。 今回はDとVを押すだけで、Markdownのリンクを作成する拡張機能を作成していきます。 まずは、manifestファイルから設定していきます! manifestファイル を参考にして、備忘録も兼ねて説明していきます。 今回は、最低限の設定を行います。 { "manifest_version": 3, "name": "Create markdown link", "version": "1.0.0", "icons": { "16":

    超簡単にChromeの拡張機能を作ってみる【誰でもできるよ】 - Qiita
  • 「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita

    はじめに まず↓の記事を見てない方はぜひ見てください! 自分にとってはこの記事には「えっ、ナニコレ!」なテクニックが多く、特に解説もなかったのでいろいろ調べてたら休日が消えてました... なのでその時間の供養もかねて、自分が知らなかった部分を中心に、僭越ながら元記事の解説を書いてみたいと思います。 ちなみに、以下が元記事のコードそのままを実装したものです。たしかに掲載コードだけで要素がグリグリ動きますね。 See the Pen js-drag-move-original by www-tacos (@www-tacos) on CodePen. 初耳1: $img まずコードのここ <img id="$img" src="https://js.cx/clipart/ball.svg" width="40" height="40"> <script> $img.onpointermove

    「JavaScriptで要素をドラッグして移動する簡単な方法」という記事が初耳だらけだった件 - Qiita
  • 今からでも遅くないconsoleを使いこなそう - Qiita

    はじめに この記事では、consoleメソッドについて紹介を行っていきます。consoleメソッドには例えばconsole.log()などが挙げられます。web開発においてconsole.log()を使用する方は多いかもしれません。しかしconsoleにはconsole.log()以外にも様々なメソッドがあるので、状況に合わせて使い分けることで少しでも快適なデバック、開発ライフを目指しましょう。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 consoleについて consoleオブジェクトを用いることで変数の値などをコンソール上に出力することができます。主に出力の確認であったり不具合の原因特定などのデバックするために

    今からでも遅くないconsoleを使いこなそう - Qiita
  • Javascript テンプレート文字列・アロー関数 - Qiita

    テンプレート文字列 今までは+を使ったりしなければいけなく、コーテーションがその都度必要だったりしたがテンプレート文字列を使うと、文字列の中に埋め込むことができる。 使い方は文字列を ` バッククウォートで囲み、jsの文は${}で囲む。 const name = "tami"; const age = 20; const favo = { food: "りんご", color: "赤" }; const hello =`私の名前は${name}です。年齢は${age}歳です。 好きなべ物は${favo["food"]}、好きな色は${favo["color"]}です。`; console.log(hello)

    Javascript テンプレート文字列・アロー関数 - Qiita
  • JavaScriptの小技集 - Qiita

    はじめに 初投稿です。 知ってたら便利になる小技が無かったのでまとめました。 「小技が知りたい...だけど検索しても出てこない...!」 そういう時に役立ちます。 比較的古いバージョンのJSでは一部の小技が使えないかもしれません。 随時追加予定です。他に小技をご存じの方はコメント欄にGO。 おことわり この記事は、あくまで"こんなやり方もあるよ"と紹介しているだけなので、何でもかんでもこれらの小技を使うと、かえってコードの可読性を下げる可能性があります。コードサイズと可読性を天秤にかけてどちらが良いかを都度確認しましょう。 記事内の間違った部分の指摘等はこの記事のコメントや編集リクエストでして下さい。 当方コードゴルファーなので、バイト数短縮小技も入れていることをご了承ください(一応該当する節には*をつけています)。 配列 配列の重複した値を削除1 const meta = ["foo",

    JavaScriptの小技集 - Qiita
  • Scala.jsを全力でオススメする - Qiita

    この記事はAizu Advent Calendar 2015 @ababup1192の記事です。 innocentyknrさん <- 前の人 ・ 次の人 -> masapontoさん 記事の内容 AltJSの一種であるScala.jsをオススメする記事です。以下の点を軸として紹介をしていきます。ScalaScala.jsの魅力を語り続ける記事なので、環境構築資料としては役に立たないと思います。 Webフロントエンド開発の現状と環境 言語の強み Scala.jsを使ったモダンな開発 Scala.jsとは 名称から分かる通りAltJSの一種でScalaからJavaScriptへと変換するものです。Scala.jsの公式サイトを見ると非常に丁寧に、他言語との比較・チュートリアル・使用可能なライブラリ・コミュニティへのリンクなどが説明されています。初心者の方でも簡単にScala.jsを始められる

    Scala.jsを全力でオススメする - Qiita
  • async/awaitにおけるエラー処理を実行の順番から整理する - Qiita

    はじめに promiseを使うとき、いつもpromiseメソッドチェーンで記載していますか? async/awaitを利用していますか? もちろん状況によって両方書くのが殆どだとは思うのですが、私はasync/awaitの方が同期的な書き方ゆえに読みやすいため、なるべくそちらで記載しています。しかしながら、エラーハンドリングが理解できていなかったため、エラーの所在を突き止めるのに苦労してしまいました。 そのため、これを機にasync/awaitにおけるエラーハンドリングについて備忘録的にまとめておきます。 この記事のまとめ; catchされるエラーはrejectのみか、throwされたエラーも含まれるか →両方catchできる async関数における処理の順序、awaitがある場合とない場合 →awaitがない場合には同期的に処理が実行され、catchできなくなる エラー処理を外側に伝播し

    async/awaitにおけるエラー処理を実行の順番から整理する - Qiita
  • jQueryへの別れ:現代的な開発のための必須JavaScriptメソッド - Qiita

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

    jQueryへの別れ:現代的な開発のための必須JavaScriptメソッド - Qiita
  • javascript 日本語チェックです - Qiita

    .match()を使い正規表現をチェックします。 漢字・ひらがな・カタカナ以外の文字を含んでいたら「false」が返ります。 function ja2Bit ( str ) { return ( str.match(/^[\u30a0-\u30ff\u3040-\u309f\u3005-\u3006\u30e0-\u9fcf]+$/) )? true : false } ja2Bit('あいうえお') //true ja2Bit('アイウエオ') //true ja2Bit('漢字') //true ja2Bit('abcdefg') // false ja2Bit('あいうえおアイウエオ漢字') // true ja2Bit('あいうえおアイウエオ漢字abcdefg') //false カタカナ \u30a0-\u30ff ひらがな \u3040-\u309f 々, 〆(記号) \u30

    javascript 日本語チェックです - Qiita
  • Webフロントエンドパフォーマンスチューニング80選 - Qiita

    こんにちは、ぬこすけです。 近年、Webフロントエンドではサイトのパフォーマンスの重要性が高まっています。 例えば、GoogleはCore Web Vitalというパフォーマンスに指標を検索結果のランキング要因に組み込みました。 また、近年の某企業が「パフォーマンスの改善に取り組んだ結果、セッション数〇%アップ、CVR〇%アップ...」などの事例は枚挙にいとまがないでしょう。 パフォーマンスチューニングするためには、定量的に計測してボトルネックを探すようなトップダウンなアプローチもあります。 しかしながら、時には千ノック的にハウツーを片っ端から試していくボトムアップなアプローチも有効になることもあったり、日々のコーディングでパフォーマンスを意識したコードを書くことは大切でしょう。 この記事ではパフォーマンス最適化のハウツーを紹介します。 パフォーマンス改善の施策が思い浮かばない時やフロン

    Webフロントエンドパフォーマンスチューニング80選 - Qiita
  • 【追記あり】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
  • アンサー: なぜTypeScriptの型定義に凝るのか - Qiita

    この記事は、昨日公開された以下の記事に対するアンサー記事です。TypeScriptで型定義に凝る派筆頭(自称)として、このお題に対して別の視点から光を当ててあげるためにこの記事を用意しました。 TypeScript の型定義に凝りすぎじゃね? まず最初に、この記事(以下では元記事と呼びます)の著者を攻撃したり、元記事の内容を否定する意図はないことをご理解ください。結局のところ、考え方が異なり、前提が異なるから異なる結論になっているだけなのです。TypeScriptを使う皆さんがいろいろな観点から見た情報を取得し、自分の状況に応じた適切な考え方・判断をできるようにすることがこの記事の目的です。 要約 大きなコードを小さく分解しても質的な難しさが消えるわけではないよ? 型はドキュメントなんだから正確に書こうぜ! 外界との接続も妥協せずに型システムで解決しようぜ! 機械にできる仕事を人間がする

    アンサー: なぜTypeScriptの型定義に凝るのか - Qiita
  • React学習を楽にしてくれるJavaScriptでの関数型プログラミングの基礎知識 - Qiita

    こんにちは、フロントエンドエンジニアのてりーです。 僕の詳しいプロフィールはこちら React仕事で使いこなしたい人、Reactの知識に不安がある人に向けて、具体的な勉強方法のロードマップをまとめました。 この記事について この記事は、「JavaScriptでの関数型プログラミング」について、Reactを学ぶ際に足を引っ張らない程度にまとめました。 普段JavaScriptに触れていながら、Reactへの学習障壁を感じている方などの参考になれば幸いです。 なぜReact学習において、関数型プログラミングの知識が必要なのか? ReactのライバルにあたるVue.jsはhtmlcssVue.js特有のテンプレート構文を組み合わせる事で、JavaScript力が低くても書きやすい作りになっています。 それに対して、Reactは原理がシンプルで一貫しており、特有の決まり事は少ないのが特徴です

    React学習を楽にしてくれるJavaScriptでの関数型プログラミングの基礎知識 - Qiita
  • 【JavaScript】分からない部分まとめてみたら最強だった件 - Qiita

    どうも、三町哲平です。 Ruby on RailsでWebアプリを開発中なのですが、どんなプログラミング言語やフレームワークを使っていてもJavaScriptが絡んできます。 正直な話、HTMLCSSは分からない部分はその都度調べていけば、よっぽど手の込んだアプリケーションではない限りは素人でもそれなりのクオリティに仕上げれるという感覚があるのですが、JavaScriptが予想以上の難敵なんですよね。 しかも調べていくうちにどうも、フロントエンドだけではなくバックエンドでも使えるらしいじゃないですか...てことは、JavaScriptが最強なのでは...!?という疑問から色々とJavaScriptに調べてみましたので、少しばかりお付き合い下さい...。 では、どうぞ! 一番身近なのは、Webサイトを表示するブラウザ上で動くプログラム(クライアントサイド・スクリプト)です。無くてもWebサ

    【JavaScript】分からない部分まとめてみたら最強だった件 - Qiita
  • なぜ我々は頑なにforを避けるのか - Qiita

    動機 前回の記事を投稿したことを某SNSで通知したところ、そのSNSでこんなコメントをいただいた。転記する許可を取ったわけでは無いので私なりに要約させていただくと、 なぜそんなトリッキーな書き方をしてまでforを使うのを避けるのか そんな書き方をして可読性を下げるくらいなら素直にforを使う方が良い ということだと理解している。 なるほど、一理ありそうだ。しかし一方で、前回貼ったStackOverflowのQ&Aはなかなかの人気記事(質問に1243ポイント、回答に最大で1559ポイント)なので「多少トリッキーなことをしてでもforを書きたくない!!」という意見をもつプログラマも一定以上いるのだろう。当然私もその1人だ。 ということで、この記事で「なぜそこまで意固地になってまでforを書きたくないのか」を説明することにする。 尚、今回は前回の記事つながりで言語はJavaScriptを使うが、

    なぜ我々は頑なにforを避けるのか - Qiita
  • 大嫌いだったJavaScriptがプログラミングの楽しさを教えてくれた - Qiita

    この記事に技術的な話はありません。 ただ「プログラミングって楽しいなあ」と実感させてくれたのが、一番嫌いだったJavaScriptだったという話です。 もし、自分にはプログラミングの才能がないと思っている人がいたら、「それでもプログラミングと一緒に人生を歩けるかもですよ?」という同じ初心者からの感想をここに残しておきたいと思います。つまり、爆速で○○ができなかった人間でも「プログラミングを楽しむことは平等に可能」なのかもと。 ただちょっと、時間と参考書の縁が必要なだけで。 はじめに 手短に自己紹介させていただきますが、いま僕はSE系の会社でDjango/Angularメインでシステムとインターフェース関係をやってます。 プログラミングをはじめて2年強のアラフォーで、いまの会社は知人のツテで入りました。その頃は「HTMLCSSをかろうじて触れます」レベルのひどいものでした。 いまもひどい部

    大嫌いだったJavaScriptがプログラミングの楽しさを教えてくれた - Qiita
  • JSのProxyでアルゴリズムを可視化する - Qiita

    JSのProxyを使ってアルゴリズムの実行中の各ステップを可視化する仕組みを作る記事です。 (inspired by アルゴリズム図鑑) 初めに完成品のキャプチャとデモのリンクを貼っておきます。 DEMO: https://codesandbox.io/s/heuristic-morse-1kc2d?file=/src/index.js ※ スマホだとシンタックスハイライトでエラーが出てるのでコード記載無し版も置いておきます。 https://codesandbox.io/s/happy-sun-211bq?file=/src/index.js JavaScriptのProxyとは Proxy - JavaScript | MDN 最初にJSのProxyとは何か簡単に説明すると、 特定の操作に対するオブジェクトの振る舞いを拡張/変更できるオブジェクトです。 拡張されるオブジェクト(ターゲッ

    JSのProxyでアルゴリズムを可視化する - Qiita
  • SvelteでMarkdown形式で投稿できるブログを1分で構築する - Qiita

    VueReactと違って仮想DOMがなく、ビルド時にピュアなJavaScriptにコンパイルしてくれるコンパイラー もっと詳細が知りたい方は、僕が以前書いた記事で詳しく説明していますので参照ください。 君はVue,Reactの次に来るSvelteを知っているか? Routify Svelteのファイルシステムベースのルーティングライブラリ ファイルを生成すると自動的にルーティングを作成してくれたり、SPA、SSR、PWA、メタタグ生成、コード分割など欲しい機能が詰まっているライブラリになってます。 Star数も執筆時点で700~800ほどなので非公式のSvelteのライブラリの中では人気なライブラリとなっています。 細かい設定などもでき、ドキュメントも充実しているので詳しくは以下を参照ください。 https://routify.dev/ MDsveX MarkdownSvelteコンポ

    SvelteでMarkdown形式で投稿できるブログを1分で構築する - Qiita
  • JavaScriptからletを絶滅させ、constのみにするためのレシピ集 - Qiita

    はじめに 記事では、constこそが唯一神であることを証明したあと、letを使いがちな場面でいかにしてconstを使うかをまとめていきます。なお、ES2018までの基構文(reduce, async/await, 配列とオブジェクトのスプレッド構文)を使用します。「いや、reduceとかスプレッド構文とか難しいからlet使うわ」という方のために、便利メソッド詰め合わせであるLodashを使った例もご紹介します。もちろん、Lodashは機能に対してサイズが大きいライブラリであるため、フロントエンド開発でバンドルサイズを軽減したいという方などはLodashの例は無視し、Lodashを使っていない方の例をご参照いただければと思います。 追記:Lodashの使用について 「Lodashのコードにlet使われてるやん」というご指摘を多く頂いたので追記いたします。 誤解を招くタイトルにしてしまい申

    JavaScriptからletを絶滅させ、constのみにするためのレシピ集 - Qiita
  • [JavaScript] 配列の存在チェック(空判定)は if (array.length) {...} でいいよって話 - Qiita

    // array => [] if (array.length === 0) {...} if (array[0]) {...} // falsyな値の時は意図しない動きに。詳しくはコメント欄へ。 if (array[0] !== void 0) {...} if (array.length > 0) {...} 理由 そもそも、lengthって名前が0以上の数値ってことが自明だから JavaScriptでは、0がfalse、1以上はtrueとなるから まとめ その1 早いですが、一旦まとめます。 別に大した話じゃなく、配列の存在チェックはarray.lengthでなんら問題ないということです。 array.length === 0とかが駄目という話ではないということは、念のために書いておきます。(可読性的な意味で) 伝えたいことはこれでほぼ全部なので、これ以降はおまけです。 根拠 配列の

    [JavaScript] 配列の存在チェック(空判定)は if (array.length) {...} でいいよって話 - Qiita