JavaScript関連のことを調べてみた

JavaScript関連のことを調べてみた

prependメソッド

### prepend() メソッドを調べる
Element: prepend() メソッド
Element.prepend() メソッドは、一連の Node または文字列をこの Element の最初の子の前に挿入します。
出典

https://developer.mozilla.org/ja/docs/Web/API/Element/prepend

“`js
a = document.createElement(“div”);
a.id = “parent”;

b = document.createElement(“div”);
b.id = “child”;

a.prepend(b);

c = document.createElement(“div”);
c.id = “child2”

a.prepend(c);
“`
“`html

“`

# 感想
insertBefore() メソッド以外にも要素

元記事を表示

JavaScriptにおける配列の種類と値の取り出し方について

# JavaScriptにおける配列の種類と値の取り出し方について

## 配列(一次元配列)とは
– 複数の変数を格納するための変数のこと。
– 0番から採番される。
-値を取り出す時は[]で番号を付けて指定する。

“`
let fruits = [ “apple” , “orange” , “banana” ];
console.log( fruits ) ; // [“apple”, “orange”, “banana”]
console.log(fruits[0]); //apple
console.log(fruits[1]); //orange
console.log(fruits[2]); //banana
“`

## 多次元配列とは
– 配列の中に配列やオブジェクトが格納されており、入れ子状態となっている配列のこと。
– 0番から採番されるのは配列と同じ。取り出し方も同様。
– テーブル形式でデータを管理したい時によく使われる。
“`
let likeFruits = [ [“ゴリラ”,5,”apple”], [“チンパンジー”,3,”orange”] , [

元記事を表示

javascript デザインパターン

## 参考にしたデザインパターン著書
[Patterns.dev](https://www.patterns.dev/#patterns)
# シングルトンパターン

シングルトン (singleton) は、一度だけインスタンス化でき、グローバルにアクセスできるようなクラスのことです。この_単一のインスタンス_をアプリケーション全体で共有できることから、シングルトンはアプリケーションのグローバルな状態を管理するのに適しています。

“`javascript
let counter = 0;

class Counter {
getInstance() {
return this;
}

getCount() {
return counter;
}

increment() {
return ++counter;
}

decrement() {
return –counter;
}
}
“`

上記のパターンだと、シングルトンパターンの条件を満たしておりません。
理由としては、↓
“`javascript
con

元記事を表示

JavaScript 配列

## 配列の初期化
“`
result = [];
“`

“`
var result = [];
“`

“`
let result = [];
“`

“`
const result = [];
“`

## 配列の要素取得

“`
result[インデックスの値]
“`

## 配列に、値の追加格納

“`
result.push(格納したい内容)
“`

元記事を表示

【WebSpeechAPI】Siriに無視されるので『活舌強化アプリ』つくりました。

# オタクは早口
私は、オタク特有の早口に加え、活舌が悪い。
Siriにも3回に1回くらい無視されている。くやしいよ私。
**『活舌(かつぜつ)強化アプリ』で特訓して見返してやりたい。**

# どんなのつくろう
:::note info
【目標】早口言葉使って活舌を鍛えられるアプリをつくりたい。
 ■ 発話を聞き取り、言えているかどうかを判定してほしい(Web Speech API)。
 ■ スマホの振動を感知し、イライラ度を表現したい(Web Sensor API)。
:::

# 技術・環境
Vue.js(JavaScriptライブラリ)
Web Speech API(発話の聞き取り)
Web Sensor API(スマホの加速度を取得)
Bootstrap(Web制作サポートツール)
CodePen(アプリ制作環境)
Netlify(完成アプリ公開環境)

# これで私も「立て板に水」
紹介動画をご覧ください。

## 詳しくはこちら
### CodePen

元記事を表示

JavaScript ループ(繰り返し)

## for文

“`
//関数定義
function hasOdd(numbers) {

result = false;
for(i = 0;i < numbers.length;i++){ s = numbers[i] o = s % 2; switch (o) { case 0: continue; default: result = true; break; } if(result == true){ break; } } console.log(result); } //関数呼び出し hasOdd([1, 2, 3, 4, 5]) ``` 例えば、このコードは、 受け取った関数の要素の中に、1つでも奇数があった場合には、trueをコンソール出力するプログラムです。 ## do...while文 ## while文 ## for...in文 ``` //関数定義 function square(num

元記事を表示

JavaScript 条件分岐

# 条件分岐

JavaScriptの条件分岐コードには、

`
if
`

`
switch
`

の2種類がある

## if

“`
if (条件式) {
実行する文;
}
“`

が、コードの基本形

例えば、

“`
//関数定義
function checkTemperature(t) {

if (t >= 30) {
result = “Hot”
}

else if(t < 30 && t >= 15){
result = “Warm”
}

else if(t < 15){ result = "Cold" } console.log(result); } //関数呼び出し checkTemperature(30) ``` というコードは、 もし、受け取った変数tに格納されている値が、 30以上だったら、Hot 30未満、15以上だったら、Warm 15未満だったら、Cold と表示するプログラムである ## switch ``` function checkOddOrEve

元記事を表示

JavaScript コメントアウト (コメントの書き方)

## Jabascript コメント

JavaScriptのプログラムファイルには、コンピュータが実行をスルーしてくれる人間のためのメモ書きを記述できる

下記のようにかくと、
`
//
`
以降の文章が、コメントアウト(コンパイラが、コメントとして認識)される
“`
// コメント
“`

下記のように書くと、
`
/*
`

`
*/
`
の間の文章が、コメントアウトされる

“`
/*
コメント
*/
“`

元記事を表示

Javascript 関数の作り方

# JavaScriptプログラマーによるJavascriptプログラマーのためのJavaScriptでの関数の作り方

“`
function greet(name) {
//関数の内容を書く
}
“`

このように、関数は作成できる

例えば、

`
名前を受け取り、
挨拶する関数プログラムは、以下のように作成する
`

1. 挨拶関数greetを作る

2. greetを呼び出す

### 完成系

“`
function greet(name) {
var message = “Hello, ” + name + “!”
console.log(message)
}

greet(“Hikaru”);
“`

のように記述する

元記事を表示

javascriptでjsonをforループさせたい場合の備忘録

例えば以下のような`json`ファイルを取得してforループさせたい場合の備忘録

https://jsonplaceholder.typicode.com/posts

## 最終的に参考にさせて頂いたサイト

https://smallit.co.jp/blog/a2478/

> 今回の場合は、nameをキーとして、値をパラメータとして送信しています。そして、返ってきたデータに対して出力しています。また、成功すれば、responseで返された詳細を確認することができ、response.dataオブジェクトでJSON形式のデータを確認することができます。

【JavaScript】JSONにforEachを使う方法

> このようにObject.keysメソッドは戻り値が配列なので、この戻り値に対してはforEachが使えます。

## テストコード

“`test.js
print(“hello”)

const jsons = { name: “鈴木一郎”, age: 30, place: “愛知県” };

print(“—– 2)forEachでキ

元記事を表示

styled-componentsでtheme Providerを使ってみる

## 目次
1. [開発環境](#開発環境)
2. [何故この記事を書こうと思ったのか](#何故この記事を書こうと思ったのか)
3. [まずはnpmでstyled-componentsのインストールを実行。](#まずはnpmでstyled-componentsのインストールを実行。)
4. [src直下に、themeディレクトリを作成する](#src直下に、themeディレクトリを作成する)
5. [theme.tsのサンプルコード](#theme.tsのサンプルコード)
6. [index.tsxを編集する](#index.tsxを編集する)
7. [実際にコンポーネントに記述してみる](#実際にコンポーネントに記述してみる)
8. [作成したボタンコンポーネントの呼び出しと結果](#作成したボタンコンポーネントの呼び出しと結果)
9. [感想](#感想)
10. [補足](#補足)

## 開発環境
“react”: “^18.2.0”,
“typescript”: “^4.9.5”,

## 何故この記事を書こうと思ったのか。
styled-components

元記事を表示

【Webアプリ】想いはQRコードにのせて伝えよう。

## 今日も今日とて

帰宅すると、放置されたゴミを見つけてしまいました。
あれ?ゴミ捨て、頼んどいたよね???
って、何度も言うのも、自分も相手も疲れちゃいますよね。

## 無言の圧力
無言の圧力ってわかりますか?例を出しましょう。

>付き合って3年、彼女の家に行くと、机の上にゼクシィが置いてあった。

分かりやすい無言の圧力ですね。

**言葉にはしない、けど強めにこの思いを伝えたい。**
**そんなことを考えてWebアプリを作ってみました。**

## こんな感じになりました
### 使い方動画

JavaScriptの非同期処理について

### はじめに

個人開発メモ📝
なんとなく知っているけどしっかり理解できていなかったので、備忘録として残します。

### 非同期処理が誕生した簡単な歴史

例えば、あるショッピングサイトを閲覧する際にそのサイトを表示するには、
▪️商品データや諸々必要データをバックエンドに取りに行く
 ↓
▪️ビューに反映させる
こんな流れだが、「商品データや諸々必要データをバックエンドに取りに行く」この処理を待っている間、ビューは反映されない。
つまりその間ユーザーを待たせてしまう= 表示速度が遅く、ユーザーが離れる といった課題が生まれた。
その課題を解決すべく、考案されたのが、「先にビューだけ反映させて、商品データが取得できたら表示しているビューに当てはめる」といった非同期処理の挙動である。

参考サイト⇨https://www.youtube.com/watch?v=kbKIENQKuxQ

### 非同期処理の様々な課題

上記の非同期処理を実施するため、コールバック関数を使用して毎秒毎に表示させる処理を発明したが、
![スクリーンショット 2023-11-19 16.26.34.pn

元記事を表示

WebSocket調べてみた。

## はじめに
WebSocketは、リアルタイムの双方向通信を可能にする技術です。WebSocketの基本的な概念とその発展の歴史について紹介します。

## WebSocketとは
WebSocketは、リアルタイムの双方向通信を実現するための先進的な技術です。これは、ウェブアプリケーションがサーバーとの間で即時的にデータを交換できるようにするプロトコルです。

### WebSocketとHTTPの違い
WebSocketと従来のHTTPの最も大きな違いは、通信の持続性にあります。HTTPプロトコルは基本的に「リクエスト-レスポンス」モデルに基づいており、クライアントがリクエストを送信し、サーバーが応答を返すという形で通信が行われます。このモデルでは、クライアントが新たなデータを要求するたびに新しいリクエストを送る必要があります。

一方、WebSocketは「フルデュプレックス」通信を提供します。これは、一度のハンドシェイク(接続確立)後、クライアントとサーバー間で持続的な接続が維持されることを意味します。この接続を通じて、クライアントとサーバーは互いにリアルタイムでデータを

元記事を表示

TampermonkeyでX(旧Twitter)の画像擬態系スパムURLを消す

# はじめに
10月くらい?にTwitter/Xの仕様変更により、URLを含むポスト(ツイート)のURLのテキストが表示されなくなり、代わりにサムネイル画像にリンクが貼られる形になりました。これにより画像に見せかけた誘導リンクを仕掛ける輩が出没しております。
本当の画像ポストとは違って左下にURLが記載されているので注意していれば目視で回避できますが、とうとう本日踏んでしまったため抜本的な対策を取ることと相成りました。

リンク自体は短縮URLで作られてるためかミュートワードに追加しても消えなかったので、Tampermonkeyを使って非表示にします。

↓こういうスパムリンク付きのポスト(ツイート)を表示させないようにします。
![spamimic.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570689/07d5d579-7774-bfed-a765-94965843560a.png)

# 実際のスクリプト
Tampermonkeyに書いたスクリプトです。
“`JavaScript
//

元記事を表示

受け取ったnumber型を文字列に変換する

# タイトル
受け取ったnumber型を文字列に変換する

## 目次
1. [開発環境](#開発環境)
2. [何故この記事を書こうと思ったのか](#何故この記事を書こうと思ったのか)
3. [まずはnumberを引き渡して文字列を返す関数](#まずはnumberを引き渡して文字列を返す関数)
4. [numberの配列を受け取って、文字列の配列で返したい場合](#numberの配列を受け取って、文字列の配列で返したい場合)
5. [+αなお話](#+αなお話)
6. [結果](#結果)
7. [感想](#感想)

## 開発環境
“react”: “^18.2.0”,
“typescript”: “^4.9.5”,

## 何故この記事を書こうと思ったのか
SESフロントエンドエンジニアとしてReactを使用した業務を開始。
TSでの型指定なんかもまだまだ知見が足りないなぁと感じつつ、
まずはJSにおける配列に対する理解っていうのも乏しいので忘備録として記述しています。
APIを初めて使用される方なんかで、もし設計書に書かれている受け取るデータがnumber[]で困

元記事を表示

【超入門】Node.js(Express)を使ってCRUD操作が出来るAPIを作成

# 本記事について

本記事は、Node.jsを使ったAPI作成に関して、自身の忘備録としての側面が強いです。

基本的なCRUD操作が可能なAPIを作成する過程をまとめたので、誰かの参考になればと公開してみます。

# はじめに

### 利用するツール
Postman : APIの動作を確認するために利用します。

https://qiita.com/otohusan/items/43cbb61cfd177049d638

本記事で必要な操作は、こちらの記事でカバーしています。

## 実装

### コードを書く下準備

まずターミナルにて、ディレクトリ・ファイル作成とライブラリのインストールを行います。

はじめに、作業を行うディレクトリを作成します

“`bash
mkdir 任意のディレクトリ名
cd 任意のディレクトリ名
“`
次にnpm init を行い、pacakage.jsonを作成します

“`bash
npm init -y
“`

続いて、必要なライブラリをインストールします。

“`bash
npm install –save nodemon e

元記事を表示

日時の値について。どの型を使用するか? ISO 8601? Timestamp?

# 目的

– 日時の値について、以下どちら (または他) を使うかを決めたい。
– `ISO 8601 Date and time string` (e.g. `2023-11-18T08:43:53+09:00`)
– `UNIX Timestamp` (e.g. `1700264648`)

## 結論

Timestampを使用する。
理由は、パフォーマンスが ISO 8601 に比べて3倍ほど早いので

## ISO 8601

### Pros

– ログやデバッガで見る時、人間が読みやすい

### Cons

– Timestamp より遅い
– タイムゾーン情報を扱わねばならず、欠落せぬよう実装に注意が必要

## Timestamp

### Pros

– ISO 8601 より速い
– タイムゾーン情報を扱う必要がなく、バグが起きにくい
– Slack や Chatwork の API は Timestamp を採用している
– ref.
– https://api.slack.com/methods/conversations.

元記事を表示

HTML上に画像があるか探す

開いたページから画像が存在するか探す方法のメモ。
HTML上に画像があるか探します。
下のコードは多少変えていますが、[MDN](https://developer.mozilla.org/ja/docs/Web/API/Document/images)のコードです。

“`js
const imageList = document.images;

for (let i = 0; i < imageList.length; i++) { if (imageList[i].src == "apple.jpg") { // 画像が存在した時の処理 } } ``` 上記コードで処理できるそうですが、私の環境ですと、うまく画像を探すことができませんでした。 いろいろ試したところ、絶対パスを指定することで動作でしました。 ```js if (imageList[i].src == '指定のURL/img/apple.jpg') ``` ただ上記の書き方ですと、使用できる場面が限定的になるので、実装上では`indexOf`を使用するのがベターかなと思いました。 ```j

元記事を表示

OTHERカテゴリの最新記事