오늘 내가 한 일 - TIL

181031 - TIL

바구레 2018. 11. 1. 18:04

주제:자바스크립트
강의: 자바스크립트 부트캠프
날짜: 2018.10.31
강의자: 김민태님


## 실행과 실행 흐름의 개념이해

문 - 값이 아닌것, 분기점을 만드는 것.
값은 바꿀수 없다. 10은 10일뿐 11이 아니다. A도 A일뿐 B가 아니다. 

값자체는 바꿀수 없지만 값을 담은 상자(변수)에는 값을 넣었다 뺐다 하면서 비교한다. 마치 값이 바뀐것'처럼',
값은 상태라고 할 수 없다. 상태는 변할 수 있지만 값은 변할 수 없는 것이기 때문에. 상자(변수)가 생기면서 상태라는 것이 생김.

age = age + 1; // 대입문, 값 =(문) 값(식) 

  • 제어문 / if문 - 참과 거짓이 나옴



## 반복과 반복문
  •    반복문
    • while - 원하는 상태동안. 참,거짓이 필요하다.  조건에 따라 한번도 실행 안할수도 있다    조건먼저 검사 -> 실행
    • do while - 참인동안 do를 실행, 우선1회는 실행이 된다,   실행먼저 -> 조건확인
    • for문 - while처럼 비교식을 검사후 코드를 실행하지만 while보다 편리함이 추가된 반복문


while(비교식){     
    참인 동안 실행
}

do{
    참인동안 실행
}while(비교식)

for(비교식){
    참인동안 실행
}


반복이란?
  • 동일한 행위가 2번 이상. 
  • 시작이 있으면 끝이 있다
  • 반복이 끝나는 조건(상태)가 있다


현실의 문제를 코드로 바꾸려면..
  1. 해결해야할 문제 분석(문제를 해체할수 있을때까지 해체)
  2.  문제의 패턴을 분석
  3. 반복 패턴을 찾아 분류
  4. 반복 시작과 종료 상태를 확인
  5. 반복 코드 작성


코드의 용도, 의미는 한가지용도로 사용하는 것이 좋다. 나 혼자만 보는 코드가 아니기 때문에.
코드를 쓰는 시간보다는 다른 개발자가 코드를 읽는 시간이 더 많다. 

구구단 만들어보기
for(let num = 2; num < 10; num++){
    for(let count = 1; count < 10; count++){
        console.log(num * count);
    }
}

## 리스트(배열)의 이해

여러개의 값을 가지고 싶어. - 리스트(배열)!

  • 객체 - 여러개의 값을 그룹을 지어놓기. 객체는 값을 저장하는 변수(키, 속성)와 값으로 이루어저있다. 객체의 멤버는 자기만의 고유한 이름이 있다.

  • 배열 - 이름을 갖을 수는 없지만 여러개의 값을 '순서대로' 가질 수 있는 형식. 순서가 있는 값의 집합. 각각의 값들은 하나의 이름을 공유.

차이점 : 객체는 값을 읽어오기 위한 수단으로 이름을 가지고 있다. 대신 배열은 순서가 있다.(0부터 시작)
하나의 변수에 여러개의 값을 담고 싶다.
-> 값에 이름이 필요해 : 객체
-> 이름은 필요없어 : 배열

배열엔 객체도 들어간다. 객체에 배열이 들어갈수도 있다. 확장 확장~

// 배열을 이용한 구구단
let dan = [2,3,4,5,6,7,8,9];

for(let i = 0; i < dan.length; i++){
    for(var j = 1; j < 10; j++){
        console.log(dan[i] * j);
    }
}//바뀌는 부분만 바꾸자. dan까지 바꾸려고 하지말자(오늘 예제풀때 배열을 담고 있는 변수까지 다시 변수에 담으려고 했음.)


## 함수

함수의 원형
function 함수이름(아규먼트){
    return  x * y;
    //출력(반환) 처리
}

함수는 값으로 취급된다.

i = 10;
function ten(){
    return 10;
}
i = ten();//10

함수는 값으로 취급하고 함수의 호출은 식이다.  함수작성은 문.
함수호출은 함수호출'식'

명시적리턴 - 코드에 리턴을 써놓는것
암시적리턴 - 함수안에 리턴이라는 문이 없어도 함수는 undefined를 반환한다.
모든 함수는 값을 반환한다!(숫자,문자 undefined라도 뭐라도 반환)

함수는 식이기 때문에 연산자와 함께 등장할 수 있다.
10 * 2
var i = 10;
i * 2;
ten() * 2; 가능하다

함수호출은 식이다! 식은 곧 값. 값으로 귀결!


객체도 값. 값이니까 객체도 변수에 들어간다.
함수도 값이다. 

function t(){
    return 10;
}

let ten = t; // 이렇게 변수에 함수를 담는것도 가능하다
t를 호출하지 않아도 함수는 값이기 때문에 변수에 담는것이 가능하다.
변수 ten에 t라는 함수가 담겨있기 때문에
ten();으로 t라는 함수를 호출할 수 있다. 

function t(){
    return 10;
}
let ten = t;

ten;//function t ~~~ , 함수 자체가 나온다
ten();//10 변수 ten에 담긴 함수 t의 호출값이 나온다.



질문 
  • 값은 변하지 않는다면 존재와 사라짐만 있는것인지. - 맞다.프로그램이 종료되면 값은 사라진다. 



🔑 생각을 단순하게 하자. 복잡하게 생각하지 말자.









초보 퍼블리셔의 공부정리 블로그입니다.

내용에 오류가 있거나 수정사항이 있다면 꼭 댓글 부탁드립니다





'오늘 내가 한 일 - TIL' 카테고리의 다른 글

181108 - TIL  (0) 2018.11.08
181105 - TIL  (0) 2018.11.05
181029 -TIL  (0) 2018.10.30
javascript30 - keyboard drum kit  (0) 2018.10.15
180808 - TIL  (0) 2018.08.09