JS 챌린지 5일차 TIL

_upper·2023년 9월 11일

JS 챌린지

목록 보기
5/5

while문

while: 조건식이 만족하면 중괄호에 둘러싸인 코드를 반복 실행한다.

while( /*조건식*/ ){
    /* 반복 실행될 코드 */
}

do while문

do while:반복을 할질 말지 반복문 마지막에 검사한다. 즉 반복문 한번은 실행하고 더 반복을 할지 말지는 코드를 보고 결정

do{
    /* 반복 실행될 코드 */
}while( /*조건식*/ );

for문

for: 특정 횟수만큼 반복하거나 배열과 같은 데이터 구조의 요소를 반복적으로 처리할 수 있다

var sum = 0;
for( var i = 0 ; i < 5 ; i++ ){
    sum = sum + i;
}

for in문

for in: 객체의 열거 가능한 속성을 반복적으로 순회하고 처리하는 데 사용되는 반복문
객체 내의 모든 속성을 열거하고 값을 출력하는 반복문

for
var property_list = Object.keys(obj);

for( var i=0 ; i<property_list.length ; i++ ){
    var propertyName = property_list[i];
    console.log( "\t", propertyName, ": ", obj[propertyName] );
}
for in
for( var propertyName in obj ){
    console.log( "\t", propertyName, ": ", obj[propertyName] );
}

변수의 scope

scope: 변수와 함수가 접근 가능한 범위를 나타내는 개념

변수의 scope는 function의 scope를 따른다
-> 객체(변수)는 선언된 함수 안에서만 접근이 가능하다

변수의 shadowing

shadowing: 동일한 이름의 변수나 함수가 여러 스코프에서 사용되는 경우 바깥 스코프의 변수나 함수를 가려버리는 현상

function name
	//한 함수 안에서만 값이 유지되는 변수
    var in_function_var;
}

	//여러 함수에서 값이 유지되면서 사용되는 변수
    var out_function_var;

method, this

method: 객체 속성의 값으로써 함수가 들어갈 때

this: 함수가 불렸을 때 어떤 객체 바인드된 속성으로써 불렸는지 알려준다

일반적임 함수를 호출할 때, 해당 함수 내부에서 사용된 this는 전역객체(브라우저의 경우 window객체)에 바인딩 된다.

메서드를 호출할 때 this의 값은 인스턴스화 된 객체(해당 메서드를 호출한 객체)를 참조한다.

closure (클로저)

함수와 함수가 선언될 때 environment로 구성

function makeCounterFunction(initVal){
    var count = initVal;
    function Increase(){
        count++;
        console.log(count);
    }
    return Increase;
}

var counter1 = makeCounterFunction(0);
var counter2 = makeCounterFunction(10);


0개의 댓글