일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 국비지원취업
- 자바스크립트
- Javascript
- 호이스팅
- KAKAO
- DFS
- computerscience
- 그리디
- 야놀자
- 알고리즘
- 너비우선탐색
- 코딩테스트
- CSS
- html/css/js
- js
- LinkSnap
- github
- 프론트엔드개발자
- 컴퓨터공학
- BFS
- 컴퓨터과학
- nodejs
- 부트캠프
- CS
- 코테
- cpu
- 패스트캠퍼스
- git
- 국비지원
- Today
- Total
목록2024/02/26 (2)
My Boundary As Much As I Experienced
자바스크립트의 암묵적인 행위로 인한 고통.. 아래 예제에서 실행 결과는 무엇일지 생각해보자. function foo(){ x = 10; } foo(); console.log(x); // ? foo 함수 내에서, 아직 선언하지 않은 x 변수에 값 10을 할당했다. 이때 x 변수를 찾아야 x에 값을 할당할 수 있기 때문에 자바스크립트 엔진은 x 변수가 어디에서 선언되었는지 스코프 체인을 통해 검색하기 시작한다. 자바스크립트 엔진은 먼저 foo함수의 스코프에서 x 변수의 선언을 검색한다. -> 없다. 상위 스코프에서 x 변수의 선언을 검색한다 -> 없다. 끝내 전역 스코프에서 x 변수의 선언을 검색한다 -> 없다. 끝내 결과는? 전역 스코프에도 x변수 선언이 존재하지 않기 때문에 ReferenceError가 ..
일급 객체란? 다음과 같은 조건을 만족하는 객체를 일급 객체라 한다. 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다. 변수나 자료구조(객체, 배열)에 저장할 수 있다. 함수나 매개변수에 전달할 수 있다. 함수의 반환값으로 사용할 수 있다. 자바스크립트의 함수는 다음 예제와 같이 위의 조건을 모두 만족하므로 일급 객체이다. // 1. 함수는 무명의 리터럴로 생성할 수 있다. // 2. 함수는 변수에 저장할 수 있다. // 런타임(할당 단계)에 함수 리터럴이 평가되어 함수 객체가 생성되고 변수에 할당된다. const increase = function (num) { return ++num } const decrease = function (num) { return --num } // 2. ..