일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- java
- DP
- db
- 리트코드
- git
- Graph
- BFS
- 동적 계획법
- network
- DFS
- Data Structure
- CS
- 백준
- vscode
- 다이나믹 프로그래밍
- 프로그래머스
- 안드로이드
- Redux
- Javascript
- 알고리즘
- TypeScript
- Python
- VIM
- 그레이들
- Algorithm
- Database
- react
- LeetCode
- 자바
- frontend
- Today
- Total
목록Programming/JavaScript (49)
늘 겸손하게

렉시컬 환경 (Lexcial Environment) 특정 코드가 작성, 선언된 환경(장소)을 의미한다. 코드 block, function, script를 실행하기 앞서 생성되는 특별한 객체로, 실행할 스코프 범위 안에 있는 변수와 함수를 프로퍼티로 저장하는 객체이다. 렉시컬 환경을 알기 위해 우선 자바스크립트 엔진이 코드를 실행하는 순서를 알아보자 자바스크립트 엔진은 코드 실행을 위해 생성 단계와 실행 단계를 거칩니다. 생성 단계에서 자바스크립트 엔진은 Execution Context를 생성하고 Call Stack에 쌓아둡니다. 그리고 선언문만 실행해서 Environment Record에 변수명, 함수명등과 같은 식별자와 식별자에 바인딩된(연결된) 값을 기록해둡니다. 이 Environment Record..

함수 선언식 - function declaration 원래 알던 함수 선언식 function sum(a, b) { return a + b; } 함수 표현식 - function expression 자바스크립트에서는 함수를 값으로 사용 가능. 즉, 함수를 변수에 할당 가능. const sum = function(a, b) { return a + b; } 두 방식의 차이점 호이스팅(hoisting)에서 차이를 보입니다. 함수 표현식은 호이스팅의 영향을 받지 않습니다. 호이스팅 설명글 https://besforyou.tistory.com/269 sample() functionEx() // 함수 선언식 function sample() { console.log("Sample function"); } // 함수 표현..

콜백 함수 (Callback function) 자바스크립트에서는 함수를 값으로 사용할 수 있다. 변수에 함수를 담을 수 있는게 이러한 이유 때문이다. var sample = function() { console.log("I am a sample"); } 이렇게 함수를 변수에 담아 다른 함수의 인자로 전달하는것까지 가능하다. 전달된 함수를 호출하는것도 가능하다. let shout = function() { console.log("아아아아아"); } function sample(func) { func() } sample(shout) 샐행 결과 이처럼 함수를 값으로 삼아 다른 함수에 인자로 넘겨주는 함수를 콜백(Callback) 혹은 콜애프터 함수(Call-after function)이라 부른다 https:/..

콜백 다른 코드에 인수로서 넘겨주는 실행 가능한 코드를 콜백(callback) 또는 콜애프터 함수(call-after function)라고 부릅니다. 아래와 같은 배열이 있다고 해보자 let numbers = [20, 10, 9, 8, 7, 5]; 위 배열을 내장함수인 sort()를 이용해 정렬하고 콘솔에 출력해보자 let numbers = [20, 10, 9, 8, 7, 5]; numbers.sort(); console.log(numbers) 정렬이 되긴 되나 이상하게 된다. 이상하게 정렬된 이유는 sort() 메소드의 인자로 compareFunction() - 비교함수를 주지 않아서 디폴트로 원소들을 문자열로 보고 유니코드 포인트 순서대로 문자열을 정렬했기 때문. 배열을 제대로 정렬할 수 있도록 co..