JSエキスパートになる//Day 07
5319 ワード
🙌入る前に。
JS専門家のテーマの位置づけの目的は筆者が学んだことを復習し、その不足を補うことである.
1. Primitive & Reference
以上の値はいずれも元の資料型
以上の値はいずれも参考資料型
1-1. 差異
ソース:https://goodgid.github.io/JS-Data-Types/
元の値はStackという名前の場所に値を割り当てます.
参照値は、stackという名前の場所にアドレス値を割り当てます.
(参照値の値はheapという名前の場所に格納されます.)
例を挙げてみましょう
let Primitive = 1;
let Reference = [1, 2, 3];
//
let clonePri = Primitive;
clonePri += 1;
console.log(Primitive); // 1
//
let cloneRefer = Reference;
cloneRefer.push(4);
console.log(Reference); // [1, 2, 3, 4]
元のデータ型はコピーできませんが、リファレンス型は値をコピーできません.(参照資料タイプは、変数に割り当てられたときに非値アドレス(コピーアドレス)を格納するため
2. Scope
内部Scopeから外部変数/関数にアクセス可能
外部Scopeから内部変数/関数にアクセスできません
2-1. Global Scope & Function Scope & Block Scope
以上のように,Keywordの有効範囲と再割り当ての有無は別々である.
2-2. Closure
function outerFn(){
let outerVar = 'outer';
console.log(outerVar);
function innerFn(){
let innerVar = 'inner';
console.log(innerVar);
}
return innerFn()
}
let globalVar = 'global';
outerFn(); // outer \n inner
Closure関数はinnerfn()です.コピー機能:領域変数、外部関数の変数、グローバル変数
すべての可能な関数
2-3. Currying
Curring:n個の関数を作成し、各関数はn個のパラメータを受け入れ、1個の関数はn個のパラメータを受け入れない.
2-4. Currying Example
코드를 입력하세요
20201215Reference
この問題について(JSエキスパートになる//Day 07), 我々は、より多くの情報をここで見つけました https://velog.io/@315dragon/JS-전문가되기-Day07テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol