1.変数を知る!

2271 ワード

へんすう


1.変数とは?


例えば、10+20を演算すると、人々は通常脳で記憶と演算を行い、コンピュータはメモリの10と20を使用してCPUを介して演算を行う.すなわち、変数は、1つの値を格納するために保持されるメモリ空間そのものであり、メモリ空間を識別するために命名される.

クリーンアップ用語


≪変数名|Variable Name|ldap≫:メモリ領域の変数を識別する一意の名前(識別子)
変数値:メモリに格納された値
≪割当て|Assign|oraolap≫:変数値を変数に格納します.すなわち、メモリ領域に格納します.
参照:変数に格納されているメモリ値の取得

2.変数の宣言


変数宣言とは、メモリ領域を確保することです.ES 6以前は変数宣言が可能なキーワードはvarのみだったが,ES 6からconst,letが出現した.

varの問題


varの最も致命的な欠点は、ブロックレベルスキャンをサポートせず、関数レベルスキャンをサポートすることである.そのため、無意識にグローバルスキャンに近づくと、問題が発生する可能性があります.
예시
var firstNum = 20; // 코드 100번째 줄
add(firstNum)
...
var firstNum = 100; // 코드 500번째 줄
function add(value) {
	return value + 10
}
이럴경우 의도치 않게 firstNum에 새로운 값을 할당하게 되어 문제를 일으킬수 있다.
varキーワードを使用すると、変数宣言は変数初期化とともに完了します.変数初期化とは、プライマリ値のアドレスがあるとundefinedがデフォルトで割り当てられる変数宣言です.

3.給油


JAvascriptは、実行時の前にコードを実行する前に、まずコード評価段階を経験します.簡単に言えば、コード評価は、コードを実行する準備段階と見なすことができる.評価フェーズでは、変数と関数を内部からJavaScriptコードの最上位レベルに引き上げ、宣言フェーズを経ます.それを引っ張って、ハウスティンと言います.
ブートフェーズではvarと関数宣言式が同時に宣言と初期化され、letとconstは宣言フェーズのみが行われます.
consol.log(num); // undefined

var num; // 선언&초기화
num = 100; // 할당

console.log(num); // 100


* var는 선언과 초기화가 동시에 이루어져서 처음 console.log에 undefined 값이 나온다
* 만약 const나, let이였스면 reference에러를 발생 시켰을 것이다.

4.変数の再割り当て


変数の再割り当ては、元のメモリ領域の値を変更するのではなく、新しいメモリ領域を作成して新しいメモリ値を割り当てます.未使用のメモリ領域は「ゴミ収集器」に集約され、定期的にjavascriptでゴミ収集器をチェックしてメモリを解放し、メモリの漏洩を防止します.

5.命名規則


変数の数が増えると、変数に名前をつけるのは難しく、区別も難しい.そこで,変数名をネーミングルールと呼ぶ独自のルールを作成する.
// 카멜 케이스
var firstName;

// 스네이크 케이스
var first_name;

// 파스칼 케이스
var FirstName;

// 헝가리언 케이스
var strFristName; // 타입과 이름을 같이 정의
var $name = document.querySelector('.name'); // dome에서 취득한 변수

* 자바스크립트는 변수나 함수의 이름에는 카멜 케이스, 생성자 함수, 클래스 이름에는 파스칼 케이스를 따르고 있다.
* 그러므로 가독성을 높이려면 두케이스를 이용하는 것이 유리하다

整理する

  • 変数宣言は、記憶データを割り当てるメモリアドレスである.
  • 変数初期化は、変数に宣言されたメモリアドレスに定義されていない値を黙々と割り当てます.
  • 変数割当ては、指定する値をメモリアドレスに格納します.
  • 号とは、実行時前の評価中に内部変数、関数がjavascript最上位コードに上昇する現象を指す.
  • 変数を再割り当てすると、新しいメモリ値が作成され、割り当てが行われます.未使用のメモリ値はゴミ収集に集約され、javascriptによって定期的にメモリがチェックされ、解放され、メモリの漏洩を防止します.