JS

스코프 체인 - 함수에서 어떤 값에 접근이 가능/불가능한가 따져보기

스코프 (체인)은 함수에서 어떤 값에 접근이 가능/불가능 한가 따져볼 때 사용되는 개념이다.이때 판별하는 범위는 블록 단위인데, 블록은 중괄호로 감싸여진 범위다. const x = "x";function c() { const y = "y"; console.log("c"); function b() { const z = "z"; console.log("b"); c(); }}function a() { const x = "x"; console.log("a"); b(); // b를 선언 안했다는 ERROR}a(); c();위 코드를 실행하면 함수 a 안에 있는 b를 호출할 때 b를 선언하지 않았다는 에러가 발생한다.b가 a의 스코..

JavaScript 2023.02.03

호출 스택 분석하는 법

호출과 선언 명확히 구분할 줄 알아야 하고, 아래 코드를 실행 하기 전에 어떤 결과가 나오는 지 알 수 있어야 한다.const x = "x";function c() { // 선언 const y = "y"; console.log("c"); // 호출 // debugger; // 호출 스택 보는 법}function a() { // 선언 const x = "x"; console.log("a"); // 호출 function b() { // 선언 const z = "z"; console.log("b"); // 호출 c(); // 호출 } b(); // 호출}a(); // 호출 - a, b, cc(); // 호출 - c호출 스택은 호출할 때만 쓰이는 스택이다.함수를 호출할 때마다 스택이 밑에서부터 쌓이..

JavaScript 2023.02.02

함수 호출한 것을 보면, 그 자리에 return한 값을 대체해보자.

함수 선언 방법 중에는 다음과 같이 화살표 함수 방식이 있다.중괄호를 생략하면 return이 포함되어 있다.주의해야 할 점은, 객체를 return할 때는 꼭 소괄호로 감싸줘야 한다. js 엔진은 중괄호를 return이 아닌 함수의 몸체로 보기 때문이다.// 아래 세 개는 같은 표현const add = (a,b) => { return a + b };const add = (a,b) => a+b;const add = (a,b) => (a+b);// 객체를 리턴할 땐 꼭 소괄호로 감싸줘야 함const add = (a,b) => ({a + b}) 함수를 호출할 때, 매개변수에 함수를 넣는다면 주의해야 할 점이 있다. 함수이름 뒤에 () 를 붙으면 함수 호출이 된다는 것이다.const add = (a,b) =>..

JavaScript 2023.01.31

순서도 그리기

프로그래밍에 있어 절차는 매우 중요하다. 코드를 에디터에 입력하기 전에 내가 만들 프로그램이 어떤 절차로 돌아갈 지 미리 생각해야 한다.앞으로 공부할 책인 Let's get it 자바스크립트 라는 책에서는 프로그램들을 만들기 전에 먼저 혼자 순서도를 그려보는 과정을 거친다.순서도만 제대로 만든다면 이미 프로그램을 90% 완성한 것이나 다름없다고 말할 정도로 저자는 순서도 그리는 것을 강조하신다.순서도를 만들었으면 순서도대로 프로그램을 구현하면 된다. 순서도에서 사용하는 도형과 기호 프로그램 절차를 만들 때 원칙1. 프로그램 절차의 개수는 정해져 있어야 한다.2. 각 절차는 항상 같은 내용이어야 한다.3. 모든 가능성을 고려해야 한다.4. 절차를 검증하기 위해 다양한 예시를 든다. 처음부터 완벽하게 할 수..

JavaScript 2023.01.19