📝 성장을 위한 기록
-
[코드스테이츠 TIL] This & 함수메소드 call, apply, bindStudy/JavaScript 2019. 11. 11. 12:37
[ this ] Execution context : 어떤 함수가 호출되면 실행 컨텍스트(Execution context)가 만들어진다 - 콜스택에 push - 함수를 벗어나면 콜스택에서 pop - scope 별로 생성된다 - 실행 컨텍스트에 담긴 것: 스코프 내 변수 및 함수, 전달인자, 호출된근원(caller), this this : 모든 함수 scope 내에서 자동으로 설정되는 특수한 식별자 - Execution context 의 구성 요소 중 하나로 함수가 실행되는 동안 이용할 수 있다 - this는 콜타임, 즉 불러올 때/실행될 때 결정된다 [ this의 5가지 패턴 ] 1. Global : window var name = 'Global Variable'; console.log(this.name)..
-
[코드스테이츠 TIL] 객체지향 Class & Instance & PrototypeStudy/JavaScript 2019. 11. 8. 12:24
[ Class 와 Instance ] 객체지향 프로그래밍이란? 하나의 모델이 되는 청사진(blueprint)를 만들고 => class 그 청사진을 바탕으로 한 객체(object)를 만드는 => instance 프로그래밍 패턴을 의미한다. [ class 정의 ] //ES5 버전 function Car(brand, name, color) { //인스턴스가 만들어질 때 실행되는 코드 } //ES6 버전 class Car() { constructor(brand, name, color) { //인스턴스가 만들어질 때 실행되는 코드 } } [ new 키워드를 통해 class의 instance 만들기 ] let avante = new Car('hyundai', 'avante', 'black'); let mini = ..
-
[코드스테이츠 TIL] 매개변수 & 변수 타입 Value or ReferenceStudy/JavaScript 2019. 11. 7. 12:00
[ 매개변수 Parameters ] 전달인자의 길이가 유동적이라면 rest parameter를 이용해 매개변수를 지정해준다. 이때 매개변수는 배열의 형태로 전달된다. function getMaxNum(...nums) { console.log(nums); // [3,4,5,6] } getMaxNum(3,4,5,6); 매개변수에 기본값을 넣어주고 싶다면 default parameter를 할당해줄 수 있다. 기본값은 문자열, 숫자, 객체 등 어떠한 타입도 가능하다. function getRoute(destination, departure = 'ICN') { return '출발지: ' + departure + ',' + '도착지: ' + destination; } getRoute('PEK'); // '출발지: ..
-
[코드스테이츠 TIL] Closure 클로저 함수Study/JavaScript 2019. 11. 6. 12:00
[ Closure ] 외부 함수의 변수에 접근할 수 있는 내부함수, 또는 이러한 작동원리를 일컫는 용어 클로저 함수 안에서는 지역변수, 외부함수변수, 전역변수의 접근이 전부 가능하다 함수의 재활용이 가능한 것이 장점이다 파라미터 하나를 고정해놓고 다른 결과를 도출하기 쉽다 함수를 실행하지 않고 함수자체를 리턴할 수 있다 클로저는 어떤 데이터(어휘적 환경)와 그 데이터를 조작하는 함수를 연관시켜주기 때문에 유용하다 오직 하나의 메소드를 가지고 있는 객체를 일반적으로 사용하는 모든 곳에 클로저를 사용할 수 있다 function makeFunc() { var name = "Mozilla"; function displayName() { alert(name); } return displayName; } var m..
-
[코드스테이츠 TIL] Scope 변수의 범위Study/JavaScript 2019. 11. 5. 12:00
[ Scope ] scope : 변수 접근 규칙에 따른 유효 범위 변수는 어떠한 환경 내에서만 사용 가능하며 프로그래밍언어는 각각의 변수접근 규칙이 있다. 자바스크립트는 기본적으로 함수가 선언되는 동시에 자신만의 scope를 가진다. 1. Local scope & Global scope 로컬스코프에서 전역스코프의 변수에 접근하는 것은 가능하지만 글로벌스코프에서 로컬스코프의 변수에 접근하는 것은 불가능하다 스코프는 중첩이 가능하다. (함수안에 함수 넣기 가능) 글로벌스코프의 전역변수는 어디서든 접근 가능하다. 지역변수는 함수 내에서는 전역변수보다 높은 우선순위를 가진다. let name = "Richard"; function showName() { let name = "Jack"; // 지역 변수 // s..