프론트엔드 개발자 신상오
article thumbnail
[JavaScript] var, let, const 자세하게 비교하기
Javascript 2023. 3. 6. 02:21

작성 목적 최근 면접을 보면서 받은 질문이고 아주 기초적인 내용이지만 답변을 깔끔하게 못했음 개념을 알고는 있지만 설명하는 연습을 많이 안 해본게 가장 큰 원인이라는 생각이 들어서 설명하는 연습을 해보기 위해서 글을 작성했다. 단순히 var, let,const 키워드만 정리하는게 아니라 TDZ, 호이스팅, 스코프와 같은 관련 개념도 함께 다룸 var, let, const 차이점 정리표 선언 재선언 재할당 var undefined로 초기화 가능 가능 let 초기화 x 불가능 가능 const 초기화 x 불가능 불가능 재선언 이미 선언된 변수명을 다시 선언하는 것 var 변수1; // var 첫번째 선언 var 변수1; // var 두번째 선언 : ok let 변수2; // let 첫번째 선언 let 변수2;..

article thumbnail
[Javascript] this : 호출한 객체
Javascript 2023. 1. 31. 01:18

들어가며 이번에는 this에 대해 공부하며 포스팅을 해봤습니다. 이론적인 내용보다는 실제로 코드를 작성하면서 호출방식에 따라 어떤 값이 this가 되는지 확인할 수 있는 코드를 작성해봤고 그에 대한 내용을 포스팅했습니다~ 처음에는 어려웠던 개념이었지만 직접 코드로 쳐보니 그렇게 어렵지 않은 개념이었던 것 같습니다. this 자신이 속한 객체 또는 자신이 생성하는 인스턴스를 가리키는 자기 참조 변수 ⭐️ 함수가 호출될 때 결정된다는 특징이 있다 this 바인딩 특징 기본적으로 this에는 전역 객체가 바인딩 되지만 호출하는 방식에 따라 this가 가리키는 값이 동적으로 변화함 1. 일반함수로 호출된 모든 함수 내부의 this에는 전역 객체가 바인딩 2. 메서드로 호출시에는 호출한 객체가 바인딩 3. 생성자..

article thumbnail
[JavaScript] 스코프 : 식별자의 유효범위
Javascript 2023. 1. 27. 20:36

들어가며 이번주 면접 스터디 주제가 스코프, 클로저, 프로미스, this, 프로토타입 등 JS 개념들인데 전체적으로 쭉 어보니 스코프를 제대로 알지 못하면 나머지는 이해하기 힘들거라 생각되어 스코프 개념을 우선 공부했고 그중 핵심이라고 생각하는 부분을 요약해봤습니다. 스코프 식별자를 참조할 수 있는 유효범위 유효범위는 식별자가 선언된 위치로 결정된다. Ex) var x = "global"; function foo() { var x = "local"; console.log(x); // (1) } foo(); console.log(x); // (2) 위 예제 코드에서 코드 가장 바깥 영역에서 선언된 x는 전역에서 참조가능하지만 함수 foo 내부에서 선언된 x는 함수 내부에서만 참조 가능 스코프 체인 '함수가..

article thumbnail
자바스크립트에서 비동기 프로그래밍 (추가 작성중)
Javascript 2022. 12. 17. 22:27

들어가며 async await 백엔드 서버에 api 요청을 그냥 구글링해서 문법만 외워서 사용하고 있는 것 같아서 좀 더 동작 방식이나 원리 학습의 필요성을 느꼈다. 이를 위해 공부하며 정리한 내용을 포스팅해봤다. 비동기란? 쉽게 설명하면 코드실행이 순서대로 이뤄지지 않는 것을 말한다. 여러 쓰레드나 프로세스가 돌고있다는 것 즉, 작업이 멀티태스킹으로 처리가 되고 있는 것이다. *프로세스 : 하나의 작업, 컴퓨터가 어떤 일을 처리하고 있는 상태 *쓰레드 : 한 프로세스내에서 처리되는 작업의 갈래 자바스크립트는 싱글쓰레드 언어이지만 브라우저 Web API 통신시에 비동기 작업을 수행할 수 있다. 동기방식은 직관적인 설계가 가능하지만 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점이 있고, 비동기방..

article thumbnail
정규표현식 정리
Javascript 2022. 9. 11. 11:23

맨날 구글링하기 귀찮아서 포스팅 🎯 정규표현식 테스트 사이트 참고하면서 작성 📚 정규표현식(Regular Expression) 규칙을 슬래시 '/ ' 로 감싸 사용 컴퓨터에게 '/ ' 사이에 있는 문자열 찾고싶다고 명령 내리는 것 📗 내장 RegExp 객체 메소드 exec execution의 줄임말로 원하는 정보 뽑아내고자 할 때 사용 찾고자하는 문자열에 정보가 있다면 배열로 반환, 없으면 null로 반환 let reg = /c/; reg.exec('code'); // expect \[ 'c', index: 0, input: 'code', groups: undefined \] test 찾고자 하는 문자열이 대상에 있는지 boolean 으로 리턴 let reg = /c/; reg.test('code'); ..