Today I Learned..(2021.03.12) (Javascript 3일차)

hjkdw95·2021년 3월 12일
0
post-thumbnail

문장

White Space

사람 눈에 보이지 않는 문자 (가독성을 위해 안보이게 해놓은 것)

; 자동 삽입

;로 문장 안끝내도 JS가 알아서 분석하여 삽입.
하지만 줄바꿈을 해야 인식한다.
(화이트 스페이스 (LF/CR) 앞에 ;을 자동 삽입하기 때문에 줄바꿈 필수!)

{} (Block, 중괄호)

=실행 그룹
모든 문장을 다 실행한다.


형태

{문장 리스트 option}

중괄호 안의 모든 문장을 문장리스트라고 한다.
문장리스트 작성은 optional.


If

형태

if (표현식) 문장1
if (표현식) 문장1 else 문장2

처리방법

  1. 표현식을 평가한다.
  2. 평가 결과를 true/false로 변환한다.
  3. true면 문장 1 실행
  4. false면 문장 2 실행

예)

블록을 사용하지 않은 예

var a=1, b=1;
if (a===b) console.log ("블록을 사용하지 않음");


블록을 사용한 예

var a=1, b=1;
if(a===b) {
           console.log ("블록사용");
          }

위의 블록을 사용한 예가 씨맨틱적이기에 블록 최대한 사용 추천

false 사례)

var a=1, b=2;
if (a===b){
           console.log ("블록사용, true");
           }
else {
           console.log ("블록사용, false");
      }

Debugger

개발자 도구창이 열려있을 때 debugger 위치에서 실행 멈춤 (ES5~)

용례)
test 해야되는 부분마다 입력해놓으면 개발자 도구창 이용해 바로 debugger 부분 가서 작업할 수 있기에 수월하다.

사례)

var sports = "스포츠";
debugger;
console.log (sports);


이런 경우 결과 값이 스포츠로 나온다 (콘솔창에서 해보면 느낌 온다)

While

형태

while (표현식) 문장

기능
표현식의 결과가 false가 될때 까지 문장을 반복하여 실행한다.
⭐️반복이 종료되는 조건이 필요하다

예)

var k=1;
while (k<3) {
             console.log(k);
             k++;
             }

결과 값 : 1,2

Do~while

형태

do 문장 while (표현식)

기능
while과 처리방법은 동일하나 do문을 먼저 실행

예)

var k=0;
do {
    console.log ("do:", k);
    k++;
    }
while (k<3) {
    console.log ("while:", k);
     }

결과 : do:0, do:1, do:2, while:3

for ()

반복의 대명사

형태

for (초기값 opt; 비교값 opt ; 증감 opt ) 문장

기능
비교표현식 평가 결과가 true 인 동안 문장을 반복 실행.
문장안에 비교표현식이 false 가 되도록 만드는 요소가 있어야 한다.

예)

for (var k = 0 ; k < 2 ; k++)
    {
    console.log (k);
    }

초기값, 비교값, 증감 옵션은 생략할 수 있다.

  1. 증감 생략
    증감을 block부분에 대신 작성한다
for var (k=0; k < 3;)
    {
    console.log (k);
    k++;
    }
  1. 초기값과 증감 생략
    초기값을 바깥으로 빼준다
var k=0;
for (; k<3 ; )
    {
    console.log (k);
    k++;
    }
  1. 비교와 증감 생략 (추천 X)
    비교문도 for 바깥쪽에 적는다
    가독성이 떨어진다.
for (var k=0;;)
    {
     console.log (k);
     k++;if (k>2) {
                   break;
                   }
     }
  1. 모두 생략ㅎ (추천 X)
    3번보다 가독성이 더 떨어진다
var k=0;
for (;;) {
         console.log (k);
         if (k===2) {
                     break;
                     };
         k++
         }

Break

고스톱의 스톱

형태)

break;
brea 식별자;

기능
반복문을 종료한다

사용처

for, for~in, while, do~while, switch

예)>

var k=0, m=0;
while (k<3) {
       m++;
       if (m===2) {
             break;
             };
       console.log (m);
       }
       
결과 값 : 1

for (var k=0; k<3; k++) {
    if (k===1) {
        break;
        console.log ("k===1");
        }
    console.log (k);
    }


결과 값 : 0

Continue

고스톱의 고

형태

continue;
continue 식별자;

기능
반복문의 처음으로 이동(분기)

사용처

for, for-in, while, do-while

예)

for (var k=0; k<5 ; k++) {
    if (k===2 || k===3) {
         continue;
         };
    console.log (k);
    }

결과 : 0,1,4

Switch

형태

switch (표현식)
{
case 표현식 : 문장리스트 opt
default : 문장리스트 opt
}

기능
switch 표현식의 평가값과 일치하는 case문 수행

case가 일치하는 곳부터 모든 문장을 수행.
이를 방지하려면 Break 꼭 작성해야

일치하는 case가 없으면 default 수행

예)

var exp = 1;
switch (exp) {
   case 1:
       console.log (100);
   break;
   case 2:
       console.log (200);
   }

OR (||) 형태로도 사용 가능하다

var exp = 3;
switch (exp) {
    case 2:
    case 3:
        console.log (100);
    }

->100

Try-catch

 형태

try 블록 catch (식별자) 블록
try 블록 finally 블록
try 블록 catch (식별자) 블록 finally 블록

기능
try문에서 에러 발생하면 catch 블록 실행.
Finally블록은 예외 발생과 관계없이 실행

try문에 작성된 콘텐츠에 에러가 발생하여도 프로그램이 돌아갈 수 있도록 한다.
서버에서 데이터 가져올 경우 반드시 try문 안에 작성해야! (안전을 위해)

예)

var sports;
try {
    sports = ball;
    }
catch (error) {
    console.log ("catch 실행");
    }
finally {
    console.log ("finally 실행");
    };

Throw

형태

throw 표현식;

기능
명시적으로 예외를 발생시킴
예외가 발생하면 catch 실행

예)

 try {
     throw {
          msg : "예외 발생시킴",
          bigo : "임의의 이름사용"
          };
     }
 catch(error) {
      console.log(error.msg);
      console.log(error.bigo);
      };

Strict Mode

형태

"use strict"

기능
엄격하게 JS문법 사용 선언
선언 위치부터 적용

코딩 실수를 예방할 수 있으므로 use strict 사용 선언 필수

예)

"use strict"
try {
    book = "변수선언하지 않음";
    console.log (book);
    }
catch(error) {
    console.log (error.message);
    }
    
결과 : 변수선언하지 않음
profile
느리지만 천천히 개발 배우는 개린이

관심 있을 만한 포스트

0개의 댓글