본문 바로가기

전체 글335

[JavaScript] 클로저 클로저란? 외부 함수의 변수에 접근 할 수 있는 내부 함수 JavaScript MDN: 클로저는 함수와 함수가 선언된 어휘적 환경의 조합, 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping)를 먼저 이해해야 한다 어휘적 환경의 조합이라는 것이 낯설게 느껴진다. 하지만, 앞서 작성한 스코프에 대해서 이해를 하고 온다면 유효범위가 지역범위라는 것을 알 수 있다. 외부함수, 내부함수(클로저) 외부 함수 안에 있는 함수가 내부함수이며, 클로저라고 불린다. 외부함수는 내부함수의 변수를 사용하지 못한다. 내부함수는 외부함수의 변수를 사용할 수 있다. 내부함수는 여러개를 작성할 수 있다. function init() { let name = "minwoo"; // nam.. 2022. 5. 13.
22.05.13_TIL 📌 이제 section 마지막에 다가오니 기분이 묘하다... 앞으로 더 열심히 해야지!! 📗 오늘 학습한 내용 JavaScript 클로저 함수에 함수가 선언되어 return하는 구조이다. 클로저함수: 외부함수의 매개변수에 접근할 수 있는 내부함수 특징 데이터의 보존 정보의 접근 제한(캡슐화) 모듈화 외부함수 외부함수에 선언된 변수는 내부함수에서 접근이 가능하다. 내부함수 내부함수에 선언된 변수는 외부함수에서 접근이 불가능하다. ES6 신규 문법 Spread rest 3주간 배웠던 내용 종합 퀴즈 스코프, 클로저의 개념은 조금 어려울 수 있다. 내부함수, 외부함수, 외부함수의 변수 등 다양하게 데이터가 이리저리 움직인다고 생각하기 때문이다. 이럴때는 천천히 그림을 그려보면서 흐름을 이해하면 쉽게 할 수 있.. 2022. 5. 13.
[JavaScript] 스코프 스코프(Scope) 변수의 접근할 수 있는 '유효범위'를 나타낸다. 스코프의 접근 범위 전역 스코프(Global Scope): 가장 바깥의 범위 전역 스코프에서 선언한 변수는 지역 스코프에서 사용이 가능하다. 지역 스코프(Local Scope): 전역 스코프가 아닌 나머지 범위 지역 스코프에서 선언한 변수는 전역 스코프에서 사용이 불가능하다. let hi = 'hello'; // 전역 스코프 function talkMessage(){ // 지역 스코프 let message = 'JavaScript'; return hi + ' ' + message; } console.log(talkMessage());// 'hello JavaScript' console.log(hi);// 'hello' console.lo.. 2022. 5. 12.
22.05.12_TIL 📌 오늘은 결국 몸살이나서 조금 힘들었지만 최대한 오늘 정해진 학습과정을 견뎌냈고, 추가로 복습, 예습까지 진행했다. 대신 빨리하고 쉬어야 할 것이라 생각해서 평소보다는 학습을 못한것은 주말에 채워야겠다. 몸건강이 우선이다!!! 📗 오늘 학습한 내용 JavaScript 원시자료형 고정된 저장 공간을 차지하는 데이터 number, string, boolean, undefined, ,symbol, (null) 하나의 변수에 하나의 데이터만 들어간다. 변수를 복사하여 사용해도 원본은 변경되지 않는다. 참조자료형 대량의 데이터를 다루는 배열(Array)과 객체(Object) 함수(function) 데이터를 저장 공간에 넣는 것이 아닌 주소를 할당한다. 저장 공간을 복사 할 경우 복사한곳의 데이터를 변경할 경우 .. 2022. 5. 12.
22.05.11_TIL 📌 개인적인 이슈가 생겨서 많이 힘들었던 날이다... 📗 오늘 학습한 내용 JavaScript 객체 객체의 속성과 속성값 for (let key in obj) 객체에 있는 속성을 변수 key에 할당 for (let [key, value] of Object.entries(obj) 객체에 있는 속성을 변수 key에 할당, 속성의 값은 value에 할당 원시자료형 고정된 저장 공간을 차지하는 데이터 number, string, boolean, undefined, null 참조자료형 대량의 데이터를 다루는 배열(Array)과 객체(Object) 배열은 사용할때 순차적으로 나와 구별하기 쉬웠지만, 객체의 경우 속성과 속성의 값을 둘다 변경하거나 삭제, 비교를 해야하는 과정에서 조금 헷갈렸던 것 같다. 코플릿으로 .. 2022. 5. 11.
[자료구조] 스택, 큐, 덱 스택(Stack) 데이터를 차곡차곡 쌓아 먼저 들어간 데이터가 나중에 나가는 후입선출(Last In First Out, LIFO) 방식을 사용하는 자료구조이다. JavaScript Code 및 사용 메서드 push(): 삽입 pop(): 삭제 let stack = []; stack.push('data 1'); console.log(stack);// ['data 1'] stack.push('data 2'); console.log(stack);// ['data 1', 'data 2'] stack.push('data 3'); console.log(stack);// ['data 1', 'data 2', 'data 3'] stack.pop() console.log(stack);// ['data 1', 'data .. 2022. 5. 10.