JavaScript関連のことを調べてみた2023年10月08日

JavaScript関連のことを調べてみた2023年10月08日
目次

【javascript】createselectbox関数を使ったセレクトボックスの作成方法

## 【javascript】createselectbox関数を使ったセレクトボックスの作成方法

こんにちは。今回は、javascriptについて初心者エンジニアに向けて、createselectbox関数を使ったセレクトボックスの作成方法について解説します。

セレクトボックスは、ユーザーが選択肢から1つを選ぶことができるui要素であり、ウェブサイトやアプリケーションでよく利用されます。javascriptを使ってセレクトボックスを作成すると、より柔軟な操作や動的な選択肢の生成が可能になります。

この記事では、createselectbox関数の基本的な使い方から応用テクニックまでを解説します。セレクトボックスの選択肢を動的に生成したり、デフォルト値を設定したり、イベントリスナーを活用した操作方法など、幅広い情報を提供します。

それでは、早速見ていきましょう。

## createselectbox関数の基本的な使い方と構文

### createselectbox関数とは
createselectbox関数は、javascriptでセレクトボックスを作成するための関数です。

元記事を表示

キー入力でアルファベットやコントロールキーが効かなくなった。

# はじめに
プログラミングをしていて、それまでは、動作していたが、ある時から動作しなくなったということはよくあります。そのあるときがいつだったのか、何をしたからかが、その不具合に気が付いたときにはわかりません。大抵はしばらくたってから気が付きます。そこから、不具合の原因を探し続けることになります。直接の原因が何なのか、まったく見当がつきません。今回の例をもとに、ご説明いたします。

# 現象と原因
どんな現象が起こったのかと言いますと、テキスト入力画面で、文字入力をするのですが、ひらがなは何とか入力できますが、そのほかのキーが効きません。例えば、バックスペース、デリートキー、数値キー、アルファベットキーなどです。ある時点までは何事もなく入力できていました。そのため、いくつかのチェックをしてみました。

#### (1) かな漢字変換ツールがおかしくなったのか
試しに、他のページで試してみました。例えば、yahoo!Japanの検索入力で、文字入力してみましたが、問題はありません。その他のページのも文字入力も問題はありません。かな漢字変換ツールは正常に動作しています。
#### (2)

元記事を表示

ゲームなどでよく見る「長押しのボタン」のUIをWEBで表現してみた

# はじめに

スマホゲームやSwitchなどのゲームのUIでよく見る、「**長押しボタン**」をWEB画面で実装します。

使う技術としては、**HTML**、**CSS**、**JavaScript**だけで、JavaScriptのライブラリや画像やSVGは使いません。

長押しボタンと言ってもイメージが付かないと思いますので、完成系のGifを用意しました。なぜか、WEBではあまり見かけないUIですよね…

![Animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/473097/220370b8-de93-7db0-9db2-3d7edfe2c098.gif)

# 実装

## 1. メータ部分の作成

まずは、メータ部分を作成するのですが、`divタグ`を使って円を作成します。
`background-image`に`conic-gradient`を指定して、円グラフのような見た目ができるスタイルを使っています。

“`html:html

メモリ使用量を取得する

作成しているサイトが重いと感じたとき、もしかすると、メモリをたくさん使用しているかもしれないです。`performance.memory`を使用すれば簡単に取得できます。メモリ情報の取得方法とそれぞれの値の意味はこちらの[ChromeでJavascriptのメモリ使用量を確認する方法](https://blog.pokechoi.com/archives/1096)の記事に書かれています。
以下のコードはぱっと見でどのくらい使用しているかを確認するためのメモです。

“`js
setInterval(() => {
getMemory()
}, 1000);

function getMemory() {
console.log(`使用可能なメモリ ${(performance.memory.jsHeapSizeLimit / 1048576).toFixed(2)}MB`);
console.log(`割り当てられたメモリ ${(performance.memory.totalJSHeapSize / 1024).toFixed(2)}KB`);

元記事を表示

Eslint – .eslintrc の書き方が分からない ( rules とプラグイン単位の設定 )

# EslintプラグインのREADMEを見る

例えばプラグインのRulesの説明にこんな風に書かれている (一部省略)

https://github.com/francoismassart/eslint-plugin-tailwindcss/blob/master/docs/rules/no-custom-classname.md

“`js

“tailwindcss/no-custom-classname”: [, {
“config”: |,
“whitelist”: Array,
}]

“`

でなにをどこに書けば良いのか?と。

この場合、

– 配列の1個目 -> 文字列で `enabled` -> `off` `warn` `error` のどれかを指定する
– 配列の2個目 -> オブジェクトで他のプロパティを指定する。たとえば whitelist であれば文字列の配列を指定する。

ということのようだ。
rulesの構造はプラグインによって割と自由っぽい。

##

Eslint – .eslintrc のファイル形式・拡張子

# ファイル形式

色々なファイル形式に対応している

– .eslintrc.js / .eslintrc.cjs – Javascipt形式 ( 値を動的に生成する場合はこれを選ぶ )
– .eslintrc.json – JSON形式
– .eslintrc.yml – YAML形式
– .eslintrc – コメントの入れられるJSON形式のようだが非推奨のようだ

どの形式でもプロパティの構成は同じ

# .eslintrc の生成

コマンドを使うと対話形式で作成してくれる。(選択肢が多い)

“`
npm create @eslint/config
“`

ファイル形式を聞かれるステップがあるのでここで好きな形式を答えると良い

“`
? What format do you want your config file to be in? …
❯ JavaScript
YAML
JSON
“`

# Javascriptファイル の例

“`cjs
module.exports = {
“env”: {
“browser”:

Reactでの開発にImmutable.jsを導入したい

# 初めに
Reactでの開発にImmutable.jsを導入したく簡単に調べましたが、かみ砕いた説明が見つけられなかったので、個人的に調べた内容をまとめることにしました。
英語ができないので翻訳ソフトを使って訳したものをまとめているので、文章が不自然かもしれませんが、多少は目をつぶってください、、、
[参考:Immutable.js](URL “https://immutable-js.com/”)
# Immutable.js
– Immutable.jsは、JavaScriptのためのライブラリで、データを「変更不可能」(イミュータブル)にすることができます。
– 一度作成したデータは後から変更することができず、新しいデータを作る際には新しいインスタンスが生成されます。

## Reactとの相性
– Reactは、アプリケーションの状態を効率的に管理・レンダリングするためのライブラリです。
– Reactの中心的な考え方の一つは、コンポーネントの状態やプロパティが変更されたときに再レンダリングを行うことです。

## Immutable.js × Reactのメリット

clsxを使ってみる-Reactで使いたい

# 背景
clsxを使ってみたく軽く調べたところ概要から基本的な使い方までを説明している記事があまりなかったので、簡単に自分の理解した範囲でまとめます。

私は初学者なので、基本的には同じ初心者向けの内容となると思います。
また、間違いも多少あるかもしれないので、その場合は優しく教えてください。

それでは行ってみましょう。

# 概要
## clsx とは?
– clsxは、JavaScriptやTypeScriptで使える軽量なライブラリで、主にReactコンポーネントなどでクラス名の文字列を効率的に、そして簡単に生成するためのものです。
– これは特に、CSSのクラス名を動的に構築する際に非常に役立ちます。

## なぜ clsx が必要なのか?
– Reactのコンポーネントでスタイリングをする際、propsやstateに基づいて動的にクラス名を変更したいという要件がよくあります。
– このような場面で、clsxは複数のクラス名や条件付きのクラス名を簡潔に、そして読みやすい形で生成するのを助けます。

## 主な特徴:
– 軽量:
– clsxはパフォーマンスを意識し

イベントの発火を操る3つのインスタンスメソッド

## イベント
イベントとはマウスクリックやドラッグ&ドロップなどユーザーの操作によって発生する動作や、Local Storageの操作のようなシステムで生じた出来事のことを指します。
JavaScriptを用いることでイベントが発火した時に特定のJavaScriptの関数を実行させられます。その関数のことをイベントハンドラと呼び、それをイベントに紐づけるように定義することをイベントハンドラを登録すると言います(イベントハンドラはJavaScriptの関数と書きましたが、厳密にはそれに限定せず実行される特定のコードブロックのことを指します)。
下の例では`button`という`id`を持つ要素をクリックしたときにアラートを出すようなイベントハンドラを登録しています。
“`js
const button = document.getElementById(‘button’);
button.addEventListener(‘click’, () => {
alert(‘clicked’)
});
“`
`addEventListener`でイベントハンドラの登録を行なっています

【javascript】オリジナルのセレクトボックスを作ろう!createselectbox関数のカスタマイズ方法

## スタイルのカスタマイズとセレクトボックスのデザイン変更

セレクトボックスは、ウェブサイトやアプリケーションで頻繁に使用されるコンポーネントの一つです。デフォルトのスタイルでは、デザイン性に欠けている場合があります。そこで、javascriptを使用してオリジナルのセレクトボックスを作成し、スタイルをカスタマイズする方法について説明します。

### セレクトボックスのスタイルカスタマイズの基本

セレクトボックスのスタイルをカスタマイズするためには、以下の手順に従います。

1. htmlでセレクトボックスの要素を作成する。
2. cssでセレクトボックスのスタイルをカスタマイズする。
3. javascriptでカスタマイズしたスタイルをセレクトボックスに適用する。

まず、htmlでセレクトボックスの要素を作成します。

“`html