본문 바로가기

Javascript40

[Javascript] 클로저(Closure) 클로저 클로저란 외부함수의 변수에 접근할 수 있는 내부 함수를 일컫으며 스코프 체인(scope chain)으로 표현되기도 한다. function outer() { var color = 'green'; function inner() { console.log(color); } return inner; } var func = outer(); func(); // 'green' function plus() { var cnt = 0; function count() { cnt++; return cnt; } return count; } var add = plus(); console.log(add()); // 1 console.log(add()); // 2 console.log(add());.. 2023. 11. 8.
[Javascript] 스코프 스코프 스코프(유효 범위)란 참조 대상 식별자를 찾아내기 위한 규칙을 말하며, 식별자는 선언 위치에 따라 해당 스코프를 가지게 된다. 구분 자바스크립트에서 크게 전역/지역 스코프로 나눌 수 있다. 전역 스코프 : 코드 어디에서든지 참조 가능 지역 스코프(함수 레벨 스코프) : 함수 코드 블록이 만든 스코프로 함수 내부에서만 참조 가능 특징 자바 스크립트는 함수 레벨 스코프(function-level scope)를 따른다. 블록 레벨 스코프(block-level scope) : 코드 블록({..})내에서 유효한 스코프를 의미한다. 함수 레벨 스코프(function-level scope) : 함수 코드 블록 내에서 유효한 스코프를 의미한다. 즉, 함수 코드 블록 내에서 선언된 변수는 함수 내에서만 유효하고 .. 2023. 11. 2.
[Javascript] this this 함수를 호출할 때 함수가 어떻게 호출되었는지에 따라 this에 바인딩할 객체가 동적으로 결정된다. 자바스크립트에서 함수를 호출하는 방식은 다음과 같다. 함수호출 메소드 호출 생성자 함수 호출 apply / call / bind 호출 함수호출 일반 함수 호출 시 기본적으로 this는 전역객체에 바인딩된다. 뿐만 아니라 내부함수의 경우에도 내부함수를 호출하는 외부함수가 아닌 전역객체에 바인딩된다. function func() { console.log('func this : ', this); // window function inner() { console.log('inner this : ', this); // window } inner(); } func(); 또한, 메소.. 2023. 10. 31.
[Javascript] 프로토타입 프로토타입 객체 다름 객체지향 프로그래밍 언어와 달리 자바스크립트는 프로토타입 기반 객체지향 프로그래밍 언어이다. 모든 객체는 자신의 부모 역할을 담당하는 하는 객체와 연결되어 있으며 이러한 부모 객체를 Prototype (객체)라 한다. [[Prototype]] / prototype 프로퍼티 모든 객체는 자신의 프로토타입 객체(부모 객체)를 가리키는 [[Prototype]]을 가지며 이는 상속을 위해 사용된다. 함수 객체는 일반 객체와 달리 추가적으로 prototpye 프로퍼티도 가진다. function Parent(name) { this.name = name; } var child = new Parent('Yang'); [[Prototpye]] 모든 객체가 가지고 있는 특징(__prot.. 2022. 12. 30.
[Javascript] 함수(2) 반환값 함수 내에서 수행된 결과를 return 키워드를 이용하여 반환할 수 있으며 반환된 값을 반환값이라 한다. 배열 등을 이용하여 한 번에 여러 개의 값을 반환할 수 있다. function sum(s1, s2) { var result = s1 + s2; return result; } console.log(sum(10, 20)); // 30 function mul(m1, m2, m3) { var result1 = m1 * m2; var result2 = m1 * m2 * m3; return [result1, result2]; } console.log(mul(2,2,4)); // [4, 16] console.log(mul(2,2,4)[0]); // 4 console.log(mul(2,2,4)[1]); //.. 2022. 8. 3.
[Javascript] 함수(1) 함수 함수란 어떤 작을 수행하기 위해 필요한 코드들의 집합을 정의한 코드 블록이다. 필요한 때에 호출하여 실행할 수 있다. 이러한 특징은 코드의 재사용 측명에서 매우 유리하다. 함수 생성 자바스크립트에서 함수를 생성하는 방법은 아래와 같이 3가지 방법이 있다. 함수 선언식 함수 표현식 Funtion 생성자 함수 함수 선언식 일반적인 프로그래밍 언어의 선언과 같이 함수명, 매개변수, 내용, 반환값으로 구성되어 있으며 함수 이름으로 함수를 호출한다. function 함수명() { 로직 } function functionmake() { console.log('함수 선언'); } functionmake(); // 함수 선언 함수 표현식 함수 리터럴 방식으로 정의하고 변수에 할당할 수 있다. 아래와.. 2022. 7. 15.
728x90