JavaScript関連のことを調べてみた2021年05月15日

JavaScript関連のことを調べてみた2021年05月15日

setAttribute( )

※プログラミング学習中の私がアップロードしてます。理解が浅いです。
この記事は厳密な仕様に関するものではなく、考え方理解のまとめとして受け取ってください。

文法

**指定した要素上に新しい属性を追加、または既存の属性の値を変更します。**

“`javascript
element.setAttribute(name, value);
“`

|引数|説明|
|–|–|
|name|属性の名前を文字列で指定します。|
|value|属性に設定したい値を指定します。|



“`javascript
var d = document.getElementById(“d1”);
d.setAttribute(“align”, “center”);
“`

注意事項

HTMLドキュメント内のHTML要素上で呼び出された際に、 setAttributeは引数の属性の名前を小文字にします。指定された属性が既に存在する場合、 その属性の値は引数として渡された値に変更されます。 存在しない場合は、その属性が作成されます。getAttribute()は存在しない属性に対し

元記事を表示

createObjectURL( )

※プログラミング学習中の私がアップロードしてます。理解が浅いです。
この記事は厳密な仕様に関するものではなく、考え方理解のまとめとして受け取ってください。

オブジェクトURLとは

オブジェクトURLとは、オブジェクトに便宜的でユニークなIDを付け、そのIDとURLの種類を組み合わせた文字列です。
この文字列はブラウザがURLとして解釈でき、ブラウザがオブジェクトURLを管理する仕組みに渡すことで、対応するデータを取得できます。

オブジェクトURL

オブジェクトURLの作成
File APIなどで取得したFileオブジェクトを、次のようにURL.createObjectURL()の引数に渡すと、オブジェクトURLを取得できます。
![20210515-111703.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/960935/f075b5ad-ff26-1e53-38b2-197c4f78a075.png)

“`javascript:オブジェクトURLの取得
const obje

元記事を表示

appendChild()の使い方

appendChild()は、特定の親ノードの子ノードリストの末尾にノードを追加します。
親要素.appendChild(追加したい要素)という形で使われます。
親要素の末尾に要素が追加されなす。
例えばulタグにliタグを追加する場合、下記のようにulタグの末尾に追加されます。

コード例

まず次のようなli要素が2つあるul要素を用意します。ul要素の id=”list” です。

“`html

  • リスト1
  • リスト2

“`

上のリストのli要素を1つ増やして、下のようなリストを作ります。

“`html

  • リスト1
  • リスト2
  • リスト3

“`

JavaScriptコード

“`javascript
// 親要素
var list = document.getElementById(‘list’);

// 追加する要素を作成
var li = documen

元記事を表示

【jQueryメモ】アコーディオン

###【ポイント】 slideToggleを使うと簡単に実装できる

“`javascript:script.js
jQuery(‘.qa-box_q’).on(‘click’, function () {
jQuery(this).next().slideToggle();//次の要素をスライドで表示
jQuery(this).children(‘.qa-box_icon’).toggleClass(‘is-open’);
});
“`

元記事を表示

【Javascript】 分割代入について(配列編)ーDestructuring Arrays

# 初めに
ES6に新たに導入された便利な構文の一つに「分割代入(destructuring)」があります。分割代入について学習した内容をもとにいろいろ試してみました。

# 分割代入(destructuring)とは
javascriptのarrayやobjectのような箱に入っている構造化(structured data)したデータをunpacking(箱を開けて取り出す)して個別のデータを取ることです。日本語では「分割代入」。個別のデータをさらに変数に代入して利用することから「代入」という言葉がさらに付いています。

# 使い方(構文)
分割代入される側 = 分割代入対象の配列 or オブジェクト

# 分割代入(destructuring)をする理由
主な理由としては記述量を劇的に減らすことができるからです。
分割代入を使う場合と使わない場合に分けて、配列からそれぞれのデータを変数に代入してみました。

①分割代入を使わない場合

“`html


```
### NMP
```sh
npm i scroll-out -S
```

# 基本的な使用方法

Firebaseを使わずにブラウザ上でローカル画像をリサイズ【canvasのdrawImage()をReactで利用した方法】

Firebase側で画像のサイズを変えることはできますがFirebase側への通信量を抑えたいと思ったのでブラウザ上でサイズを小さくすることにしたことのまとめです。
プロフィール画像を想定していて画像の最大幅がある程度は分かっていた流れがあります。

## 成果物
![スクリーンショット 2021-05-14 17.56.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/651103/5e39b0ac-5da1-b044-61e3-eeaffbb5a71b.png)
アップロードされた画像は canvas の drawImage() でリサイズされたものです。

## ソースコード

```App.js
import { useState } from "react";
import "./styles.css";

const uploadToFirestore = () => {
console.log("画像をuploadしました"); //ダミー処理
};

const App = ()

Vue.js入門~jQueryとの対比編~

こんにちは!
LIFULLエンジニアの吉永です。
本日は最近あまり関わらなくなったのであまりキャッチアップできていなかったフロントエンド開発技術についてインプットした内容を備忘録として記載していきます。

## 本記事の概要

私自身、jQueryを用いたフロントエンド開発はなんとなく実装イメージが湧くのですが、Vue.jsで同じことを実現しようとすると都度検索してということが多いので、jQueryとVue.jsで同じことを実現する際のコードの対比を記していこうと思います。
なので、対象読者はjQuery経験者でこれからVue.jsに入門しようとしている人となります。

また、私自身jQuery経験者ではありますが、ベストプラクティスを知っているかと言われると自信がないので、有識者の方から見たらおかしな実装になっている箇所も多々あるかと思いますし、Vue.jsに関しては初心者なので、もっとひどいかもしれません・・・ツッコミどころ満載な内容になってしまっているかもしれませんが、ご容赦くださいませ。

なお、Vue.jsに関しては現在個人的に学習中の教材がバージョン2系になっているので、2

【WYSIWYG】WYSIWYGエディタ

# WYSIWYG(ウィジウィグ)とは
- 「What You See Is What You Get」の略
- 入力画面と出力画面が一致する様に表現する技術

# よく使用されるライブラリ
## Draft.js
[公式サイト](https://draftjs.org/)

### 特徴
- Facebook製
- Reactベースで作られているため、簡単かつ堅牢な仕組みで実装可能
- Twitter、Wantedly等で使用されている

### データの入出力方法
- 入力: JSONで保存可能
- 出力: [draft-js-export-html](https://www.npmjs.com/package/draft-js-export-html?activeTab=dependencies) を使用することで保存データ(JSON)をHTMLへ変換可能

## Quill
[公式サイト](https://quilljs.com/)

### 特徴
- PC・タブレット・スマートフォンに対応
- Slack、salesforce、LinkedIn等で使用されている

### デ

モダンJavaScriptの使用にあたって覚えておきたいこと

#本記事
本記事は筆者がJavaScriptを学習している中で学んだことを記したものです。
備忘録的な位置付けですので、間違い等あるかもしれませんが、よろしくお願いします。

#モダンJavaScriptとは
仮想DOMを用いるライブラリ/フレームワークを使用している、npm/yarn等のパッケージマネージャーを使用している、ES2015(ES6)以降の記法を使用している。webpack等のモジュールパンドラーを使用していること。Babel等のトランスパイラを使用していること。

#JavaScriptとは
・Webブラウザ上(HTMLやCSSで構成される)で複雑な動きをするためのもの。

#仮想DOMとは
DOMとはdocument object modelの略。HTMLなどを解釈して木構造で表現したもの。JavaScript上でかそうDOMを使用して差分を抽出して変更分のみDOMで操作する。

#npm/yarn等のパッケージマネージャー
かつて、JavaScript開発では一つのJSファイルに全てを記述していた。
それを大きな処理ごとに分割して使う様になった。
しかし、読み込

2021年 給料が一番高いプログラミング言語 5選

多くの人が高給のためにプログラミング業界を選びますが、世界で最も収益性の高いプログラミング言語は何か知っていますか?
##1)Java
「Javaは時代遅れですか?」と尋ねるかもしれません。もちろん、そうではありません。
なぜJavaはまだ人気があるのですか?Javaは最も古く、堅牢なプログラミング言語の1つです。また、主にAndroidアプリケーション開発に使用されるオブジェクト指向言語です。これが、今日でも使用されている主な理由の1つです。しかし、Kotlin(Android開発にも適しています)のようなプログラミング言語の出現により、Javaの人気は低下しています。
![Java.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/482909/d279971b-2269-8c56-943d-a8e72896a1c6.jpeg)
ただし、Javaは依然として最も高額なプログラミング言語の1つであり、かなりの需要があります。Indeedによると、ソフトウェア開発会社はJava開発者に興味があり、毎年10万

単語をfor文を用いて接続

単語をfor文を用いて接続

言語: Javascript

```javascript
const mySports = ["野球" , "サッカー" ,"テニス"]
let text = "私の好きなスポーツは"
for (let i = 0; i < mySports.length ; i++){ text += mySports[i] if (i !=mySports.length - 1){ text +="と" } } text += "です。" console.log(text) ``` 上記のコードで重要な点
・リストの長さを取得するメソッドはリスト.length
・for 文のなかにif文を用いて場合わけする点

JavaScriptで1から100までを出力

```
for (let number=1;number<=100 ;number++) { console.log(number); } ```

javascriptリファレンス

デフォルト引数
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Functions#default_parameters

論理演算子
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#logical_operators

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_NOT

coffee

coffee の存在チェック
http://coffeescript.org/#existential-operator

CoffeeScriptの exsitential operator

https://coffeescript.org/#existential-operator

mdn読む。

【javascript】Symbol()を使ってfilterMap()

#前置き

前回

https://qiita.com/noenture/items/121575071fec9fa11dd6

フィルタでfalsyな要素は`Symbol('ignore')`を返すようにする。

#function

```javascript
const APPS = {
ignore: Symbol('ignore'),
filterMap: (array, func) => {
const arr = array.slice();
const res = [];
for (let i=0,len=arr.length; i i%3===0 ? a.slice(i,i+3)

javascriptは処理がバラバラ

javascriptは上の処理が終わってなくても次の処理が始まるので、順番にしたい場合はインデントつける。

個人制作:Todoリストを作成しました

## Todoリストを作成しました!
ProgateでのJavaScript学習が落ち着いたので、思い切ってTodoリストを作成しました!

https://kiku-cha.github.io/todo/

学習したとはいっても、まだガッツリ出来るというわけではないので、
参考物を確認しながら、作成するにあたっての考え方、組み方などを理解出来るようにすることを
目標として作成を行いました。

## 作成したい内容にマッチしたものを参考にしました
日付の表示・並び替えといった機能も実装したいな〜と考えていましたが、
初めての作成ということなので、
**① 記入したものを表示、削除が出来る
② タスクの内容をローカルストレージに残すことが出来る**
といったシンプルなTodoリストを作成することに決めました。

上記の内容に当てはまったのが、以下のサイトで紹介されているTodoリストでした。

JavaScriptで作るTodoリスト

こちらを参考に、作成を

Dexieで部分一致で検索する方法

Dexieで部分一致で検索する方法。

```javascript
// 記述例
async function search_todo(word) {
// Dexieの標準検索には前方一致しかないため、filterを使用して絞り込みをかける。
const todos = await db.table.filter(function (todo) {
// javascriptの部分一致検索方法で判定してやる。
return todo.title.indexOf(word) > -1;
}).toArray();
return await todos;
}
```

参照元:
https://github.com/dfahlander/Dexie.js/issues/146

以上