본문 바로가기
반응형

개발/Javascript41

js 클로저 1. 클로저의 개념 클로저를 MDN에서 찾아보면 '함수와 함수가 선언된 어휘적 환경의 조합' 이라고 나와있다. 무슨말인지 모르겠다. 다행히 코드스테이츠에서 이해하기 쉽게 설명을 해주었다. 그걸 내가 한문장으로 요약해봤는데, 여러분들에게도 알려주자면 함수를 리턴하는 함수일때 리턴당하는 내부함수가 외부함수의 변수에 접근할 수 있다면, 리턴되는 내부함수를 클로저라고 함. 한편, 클로저는 리턴하는 함수에 의해 스코프(변수의 접근 범위)가 구분된다. 클로저의 핵심은 스코프를 이용해서 변수의 접근 범위를 조정하는 것에 있다. 함수를 리턴하는 것 만큼 중요한 것이 변수가 선언된 곳이다. 보라색 block이 외부함수, 노란색 block을 내부함수라고 하면 adder는 함수를 리턴하는 함수이고 내부함수는 외부함수의 변수.. 2021. 8. 4.
JS : 선언자 let, const가 var보다 권장되는 이유 let, const, var의 특징을 설명하기 전에 스코프의 종류부터 간단히 소개하겠다. 스코프의 종류 블록스코프(block scope) : 조건문, 반복문 등등 중괄호로 둘러싼 범위, 화살표함수도 블록스코프임 함수스코프(function scope) : 함수로 둘러싼 범위 말로 설명하는것보다 코드스테이츠의 학습자료를 보는것이 이해가 훨씬 잘 될 것같다. 유의해야할 점은 화살표 함수는 블록 스코프이다. let, const, var let, const, var 은 변수를 선언하는 선언자 이다. 블록 스코프에서 let을 이용하여 선언된 변수 i 에는 블록 범위를 벗어나는 즉시 접근할 수 없다. for (let i = 0; i < 5; i++){ console.log(i); } console.log('final.. 2021. 8. 4.
JS : 변수의 유효범위 Scope, 지역변수와 전역변수 Scope : 변수 접근 규칙에 따른 유효범위 안쪽 스코프에서 선언한 변수는 바깥쪽에서 사용불가능 스코프는 중첩이 가능하다 가장 바깥쪽의 스코프는 전역 스코프이다. 전역이 아닌 다른 스코프는 모두 지역 스코프임. 지역변수는 항상 전역변수보다 높은 우선순위를 가진다. 1. 안쪽 스코프에서 선언한 변수는 바깥쪽에서 사용불가능 let name = 'june' if(name){ let talk = `hello ${name}!`; console.log(talk) // hello june! } console.log(talk); //Error 변수 'talk' 는 2~5 조건문 안에서만 유효하다. 2. 스코프는 중첩이 가능하다. 3. 가장 바깥은 전역 스코프이고 그 외는 다 지역 스코프이다. 전역스코프안의 변수를 전.. 2021. 8. 4.
JS 객체 dot notation과 bracket notation 객체 dot notation과 bracket notation 객체의 표기법에는 두가지가 있다. dot notation bracket notation dot notation : key.value. (value는 문자열이다.) 읽기 쉽고 더 자주 사용하는 방식이다. 객체를 배우기 이전부터 js의 많은 기능을 dot.notation으로 사용해오고 있었다. 변수를 통해 객체에 접근 할 수 없어서 key 값을 직접 입력해 주어야 한다. let obj = { fruit : 'banana', animal : 'monkey' }; let food = obj.fruit //obj.fruit 는 obj의 fruit 키의 값인 'banana'를 dot notation으로 나타낸 것이다. console.log(food) //.. 2021. 8. 3.
반응형