for in 반복문



for in 반복문을 사용하면 배열을 좀 더 쉽게 다룰 수 있다.


1
2
3
4
5
6
7
8
    <script>
        var fruit = ['사과''배''포도'];
 
        for (var i in fruit) {
            document.write(i + '<br>');
            document.write(fruit[i] + '<br>');
        }
    </script>
cs


위의 코드와 같이 for in 반복문을 사용하면 in 뒤에 오는 배열의 길이 만큼 반복문이 돌고


in 앞에 오는 변수 i 에는 배열의 첫번째 인덱스 부터 마지막 인덱스 까지 순차적으로 들어가게 된다.



삼항연산자와 짧은 조건문



삼항연산자

연산자 이지만 실행을 조건에 따라 변화시킬 수 있다. 조건이 복잡할 때는 코드가 길어질 수 있으므로

한줄로 표시 할 수 있을 때만 사용하는 것이 좋다.

1
2
3
4
5
6
7
    <script>
        // <조건> ? <참일때 실행> : <거짓일 때 실행>
        var input = prompt("Input number");
        var number = Number(input);
 
        (number % 2 == 0) ? alert("짝수입니다.") : alert("홀수입니다.");
    </script>
cs



짧은 조건문

논리 연산자인 &&와 ||를 이용하여 조건문을 작성한다.

삼항 연산자보다 코드를 더 짧게 사용하고 싶을 때 사용한다.

 
<script>
//1. <조건문> || <조건문이 거짓일 때 실행될 코드>
true || alert('실행A');
false || alert('실행B');
//2. <조건문> && <조건문이 참일 때 실행될 코드>
true && alert('실행A');
false && alert('실행B');
</script>


1번은 OR연산자를 이용하므로 왼쪽 변이 참이면 오른쪽 변을 실행하지 않는다.


그래서 1번은  실행B 가 실행이 된다.


따라서, 왼쪽 변의 조건문이 거짓 일 때 오른쪽 변이 실행이 된다.


2번은 AND연산자를 이용하므로 왼쪽 변이 거짓이면 오른쪽 변을 실행하지 않는다.


2번은 실행A가 실행되고, 왼쪽 변이 참이면 오른쪽 변이 실행이 된다.



1
2
3
4
5
6
7
    <script>
        var input = prompt("input number");
        var number = Number(input);
 
        (number % 2 == 0&& alert("짝수입니다.");
        (number % 2 == 0|| alert("홀수입니다.");
    </script>
cs


앞의 삼항 연산자 예제를 짧은 조건문으로 바꾸면 위와 같이 된다.

'개발 > JavaScript' 카테고리의 다른 글

[JavaScript] for of 반복문  (0) 2018.06.20
[JavaScript] for in 반복문  (0) 2018.06.20
[JavaScript] 변수와 상수  (0) 2018.06.19
[JavaScript] 템플릿 문자열  (0) 2018.06.17
[JavaScript] 일치연산자  (0) 2018.06.15

변수와 상수 / let, const



상수 const


ECMA5까지는 상수가 없었는데 ECMA6부터 상수라는 개념이 생겼다. 상수가 생긴 이유는 성능이 향상되기 때문이다.


상수는 값이 변하지 않으므로 변하는 것과 관련된 처리를 해줄 필요가 없어서 상수를 사용하면 성능이 향상된다.


상수를 사용 할 때는 아래와 같이 일반 변수를 사용 하듯이 사용하면 된다.


1
        const constVar = 789;
cs


상수는 선언한 이후에 값의 변경이 불가능 하므로, 선언과 동시에 초기화 해주어야 한다.


변수 var let

특정 변수를 사용할 수 있는 유효 범위를 '스코프(scope - 유효범위)'라고 한다. 

조건문이나 반복문에서 대괄호로 감싸진 부분이 스코프이다. 


1
2
3
4
5
6
7
//전역 scope
        {
            // scope A
            {
                // scope B
            }
        }
cs



전역 스코프는 가장 바깥쪽에 코드를 입력할 수 있는 부분이다. 일반적으로 특정 스코프 안에서 선언한 변수는


그 스코프 안에서만 사용이 가능하다. 따라서 아래와 같은 코드는 다른 프로그래밍 언어에서는 오류가 난다.


1
2
3
4
5
6
7
8
9
10
11
12
        {
            // scope A
            var scpA = 'AAA';
        }
 
        {
            // scope B
            alert(scpA);
        }
        
        // 전역 scope
        alert(scpA);
cs


A스코프에서 변수를 선언하고 B스코프와 전역 스코프에서 호출 하였으므로 오류가 나지만,


자바스크립트에서는 오류가 나지 않는다. 


왜냐하면 자바스크립트에서 var키워드는 전역 스코프 위치에 변수를 선언하는 키워드 이기 때문이다.


따라서, A스코프에 var로 변수가 선언되어 있으므로 scpA라는 변수는 전역 스코프에 위치하게 된다.


전역 스코프에 위치하므로 B스코프와 전역 스코프에서 모두 사용이 가능하다.


하지만 변수는 해당 스코프에서 사용되고 더이상 필요하지 않게 되면 메모리에서 제거해주어야 


시스템 자원을 효율적으로 사용할 수 있다.


그래서 전역 스코프에 위치 시키지 않고 해당 스코프에서만 사용 할 수 있는 변수를 선언하는 키워드가 let키워드이다.


let키워드로 선언된 변수는 해당 스코프에서만 사용할 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
        {
            // scope A
            let scpA = 'AAA';
        }
 
        {
            // scope B
            alert(scpA);
        }
        
        // 전역 scope
        alert(scpA);
cs


따라서 위와 같이 let키워드로 선언된 변수를 다른 스코프에서 사용하면 오류가 발생한다.


※ let과 const키워드는 모두 IE에서는 사용이 불가능 하다.

'개발 > JavaScript' 카테고리의 다른 글

[JavaScript] for in 반복문  (0) 2018.06.20
[JavaScript] 삼항연산자와 짧은 조건문  (1) 2018.06.19
[JavaScript] 템플릿 문자열  (0) 2018.06.17
[JavaScript] 일치연산자  (0) 2018.06.15
[JavaScript] 불 자료형 변환  (0) 2018.06.14

+ Recent posts