rensanrenren / programming_hack

0 stars 0 forks source link

Javascript基礎 #3

Open rensanrenren opened 11 months ago

rensanrenren commented 11 months ago

忘れそうな大事なこと

予約語について

var num = 1; // 再宣言、再代入可能 let number = 2; // 再代入可能 const name = "Taro"; // 定数

関数の定義

function 関数(仮引数){処理}  の形で定義する アロー関数で簡潔に記述することもできる

予約語の使い分け

let、var、constの違いを踏まえて、場面に合わせた変数の使い分け方について解説します。

基本はconstで定義する

JavaScriptの変数宣言は、letやvarに比べてconstがおすすめです。constは再宣言と再代入ができないため、意図せず値を書き換えることによるエラーを未然に防ぐことができます。

繰り返し構文のみletを定義する

繰り返し構文では、ブロックスコープなので管理がしやすいletの利用が適しています。letは再代入ができて再宣言できないため、varに比べて変数宣言でエラーする可能性を減らせるのが特徴です。

varも繰り返し構文で指定できますが、意図せず変数名が被るとエラーにつながる可能性があります。constは代入した値をブロック別に出力して利用できますが、頻繁に利用するfor文やwhile文の繰り返し条件として利用できないところが欠点です。

varは使わない方がよい

varはJavaScriptで使える変数の中で最も影響範囲が広いのが特徴です。さまざまな場面で利用できる反面、意図しない再宣言や再代入によってエラーにつながる可能性があります。

また、varを使うと変数名や再代入をチェックする範囲が広くなります。ブロックスコープであるletやconstであれば、ブロック内のみチェックすれば良いので見る範囲を短縮できます。

上記の理由からJavaScriptで変数を定義するときは、値の再代入が不要な場合はconst、そうではない場合はletの利用が適しています。

JSDocについて

JSDocはデータ型やオブジェクトなど、書いているコードが何かアノテーションを入れるためのマークアップ言語。開発する時にこのアノテーションを入れることで開発が効率よく進む。以下のような書き方。

/**
* @type {something}
*/
rensanrenren commented 11 months ago

ChatGPTに聞く内容

let names = ['Taro','Ichiro','Jiro'];
//アロー関数
names.forEach((value, index, names) => {
 console.log(value);
})
// 普通のfunction
names.forEach(function(value, index, names){
 console.log(value);
})

// ハッシュ
let names = {
 'Tanaka' : 'Taro',
 'Suzuki' : 'Ichiro',
 'Yamada' : 'Jiro'
};
Object.keys(names).forEach(function(key) { //Object.keys(names)でキーの配列を作る
  console.log(key, obj[key]);
});

関数

function 関数(仮引数){処理}  の形で定義する アロー関数で簡潔に記述することもできる

オブジェクト (Object)

オブジェクトは、プロパティとメソッドを持つことができるデータの集合です。オブジェクトは現実世界の物体や概念をコード内で表現するために使われます。例えば、車、人、銀行口座などはオブジェクトとして表現できます。オブジェクトはプロパティ(特性や状態)とメソッド(動作や機能)を組み合わせることで、そのオブジェクトが何を表しているのかを定義します。

プロパティ (Property)

プロパティは、オブジェクトの特性や状態を表す値です。例えば、車のオブジェクトであれば、色、ブランド、速度などがプロパティになります。プログラミングにおいて、これらは変数のようにオブジェクトに結びつけられます。

コンストラクタ (Constructor)

コンストラクタは、オブジェクトが作成されるときに自動的に呼び出される特別なメソッドです。このメソッドはオブジェクトの初期化に使用され、オブジェクトの初期状態を設定するためにプロパティに値を割り当てることができます。コンストラクタは、新しいオブジェクトが作成されるときに一度だけ呼び出されます。

メソッド (Method)

メソッドは、オブジェクトが実行できるアクションや動作を定義します。これは関数に似ていますが、オブジェクトのコンテキスト内で定義され、オブジェクトのプロパティにアクセスしたり、オブジェクトに関連する操作を行うことができます。例えば、銀行口座のオブジェクトであれば、預金、引き出し、残高照会などのメソッドが含まれるかもしれません。

これらを簡単な例で説明します。Pointクラスを例にとると:

このように、オブジェクト、プロパティ、コンストラクタ、メソッドは連携

rensanrenren commented 11 months ago

React

Next.js

Chakra UI

Three.js

MapLibre

Axios

Prettier

ESLint