0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JavaScriptについてまとめてみました

0
Posted at

概要

JavaScriptは、Webページに動き・処理・ロジックを与えるためのプログラミング言語です。
現在ではブラウザだけでなく、サーバー・アプリ・デスクトップ・モバイル・IoTまで動かせる、非常に汎用性の高い言語になっています。

JavaScriptでできること

Webページに動きをつける

  • ボタンを押したら表示が変わる
  • フォーム入力チェック
  • モーダル表示
  • タブ切り替え
  • スライダーやアニメーション

サーバーサイド開発(Node.js)

JavaScriptはブラウザだけでなく、サーバーでも動くようになりました。

  • APIサーバー構築
  • DB接続
  • 認証処理
  • バッチ処理

// Node.js (Express)
app.get("/api/users", (req, res) => {
  res.json([{ name: "Taro" }]);
});

JavaScriptの特徴

特徴 内容 メリット デメリット / 注意点 簡単な例
インタプリタ言語 コンパイル不要ですぐ実行できる 開発スピードが速い 実行時エラーが起きやすい console.log("hi")
動的型付け 型宣言が不要 記述量が少ない・柔軟 型ミスによるバグ let x = 10; x = "text"
イベント駆動 ユーザー操作やイベントを起点に処理 Webと相性抜群
処理の流れが追いにくい button.addEventListener(...)
非同期処理が得意 通信や待ち処理を止めずに実行 UXが良い・高速 理解が難しい(Promise/async) await fetch()
プロトタイプベース オブジェクトの仕組みが独特 柔軟な拡張性 OOP理解に時間がかかる Object.create()
関数が第一級オブジェクト 関数を値として扱える 高度な抽象化が可能  コードが読みにくくなることも const fn = () => {}
ブラウザ標準 すべてのブラウザで動く 環境構築不要 ブラウザ差異の考慮 
サーバーでも動く Node.jsでバックエンド可能 フロントと同一言語 パフォーマンス設計が必要 app.get()
エコシステムが巨大 npmパッケージが豊富 ほぼ何でも揃う 依存関係が複雑になりがち npm install
進化が早い ECMAScriptで継続進化
新機能が豊富 書き方が多様化しすぎる
?. ??
TypeScriptと相性良い 型安全に書ける 大規模開発に強い 学習コスト増 type User = {}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?