<자바스크립트 완벽가이드> 4주차 ❌

이현정·2022년 5월 29일
0

🔖 읽은 범위: ~p.150 (5장)

결석 (사진 x)

✨ 책갈피

  • 표현식(expression): 구절. 값을 변환.
    문(statement): 문장 또는 명령어. 동작을 실행. 문장 끝에 마침표 찍듯 세미콜론(;) 찍기

  • 표현문(expression statement): 표현식은 값을 변환하고 문은 동작을 실행하는 것이랬다. 표현문은 부수효과를 가져 사실상 동작을 하는 표현식을 일컫는다.
    예를 들어 할당문(++,-- / 할당을 수행한 것처럼 변수를 바꾼다.), delete 연산자, 함수 호출(ex.console.log();) 등.

  • 선언문(declaration statement): 선언문은...엄밀히 따지자면 문이 아니다. 일단 변수 할당을 선언문이라고 생각하면 될 듯하다.

  • 제어문(control structure): 기본적으로 자스는 문들의 집합이고 이 문들은 순서대로 동작한다. 하지만 이 동작 순서를 바꿀 수 있도록 할 수 있는 데 이러한 문을 제어문이라고 한다. 제어문에는 조건문, 반복문(루프), 점프문이 있다.

  • 조건문(conditional statement): 분기점(branch)라고도 부른다. 기본 조건문인 if/else문다중 분기문인 switch 가 있다. switch 는 모든 분기점이 같은 표현식의 값에 좌우된다면 쓴다. 똑같은 표현식을 else if 로 반복해 평가하는 것은 낭비이므로.

  • 반복문(loop statement): 또는 루프(loop)라고도 한다. 조건(표현식)에 따라 해당 문을 반복한다. 루프에는 5가지가 있다: while문, do/while문, for문, for/of(변형 for/await)문, for/in문
    1) while문: 표현식이 true 인 동안(while) 계속 그 문을 반복한다.
    2) do/while문: while문과 같으나 조건이 성립하지 않아도 최소 한 번은 실행하게 해줌.
    3-1) for문: while 의 반복 과정(초기화->테스트->업데이트)을 한 번에 적어 더 편리한 루프.
    3가지 표현식 모두 생략가능 하나 그 사이의 세미콜론은 필수.(ex. for(;;) 은 while(true)처럼 무한루프를 만든다.)

    for(초기화; 테스트; 업데이트)
    	(statement)

    3-2) for/await문: 그냥 for 문과 같다. 다만 es5부터 도입된 async, await 이 붙었을 뿐. (솔직히 왜 이게 변형으로 들어가는지 모르겠다.)
    4) for/of문: 오직 iterable(문자열,배열,세트,맵)객체만 가능.
    Object.keys(), Object.values(), Object.entriees() 와 관련된 설명이 나왔지만 1회독에서는 이해 안가서 일단 넘어감.

    (1)문자열: 문자 단위로 순회. ex. for(let letter of " mississippi ")
    (2)배열:
    (3)세트&맵:

    5) for/in문: 객체면 가능.

  • 점프문: break, continue, return, yield, throw, try/catch/finally. 문을 탈출하거나 다시 처음으로 돌아가 반복하도록 한다.

  • 기타 문: with, debugger, "use strict"

  • 복합문: 문 블록({}로 여러개 문을 묶은 것).

    { 
     x=Math.PI;
     cs=Math.cos(x);
     console.log("cos(𝛑) = " + cs);
    }

    빈문: ; 하나.
    문이 있을 것으로 예상된느 곳에 문을 쓰지 않을 수도 있다.

    	;
    	/* 배열 a를 초기화합니다.*/
    	for(let i=0; i<a.length; a[i++]=0<) ;
    	/* 이 루프가 하는 일은 전부 a[i++]=0가 하고 있다. 
    	 * 하지만 for 뒤에 루프 바디가 있을 것을 요구하므로 
         * ;를 찍어 빈 문을 적어준다. */

for/in 부가 설명 있지만 for/of 와의 차이점만 인지하고 넘어갔다.

❓ 궁금점:

이터러블: 반복가능한.
내장 Set, Map 클래스(p.128)
제너레이터 함수
prompt(), alert():
strict 모드와 일반 모드의 차이(p.143):

2개의 댓글

comment-user-thumbnail
2022년 6월 2일

꾸준히 쓰는 거 정말 대단하네요...👍

1개의 답글