본문 바로가기
각종 언어 기본 문법/Java Script

자바스크립트 기초 강의 - 3 함수와 객체

by 혀니쌤1 2022. 3. 20.

목차

    유투브 코딩앙마 100분 강의를 참고 하여 쓴 요약 노트입니다.

    이미 Python 및 Java, C 지식을 아는 상태에서 강의를 들었으며,

    프로그래밍적인 측면에서 너무 쉽거나 당연한 부분은 아주 간단히 넘어가거나 적지 않았음.

     

     

    ■ 함수

    중복되는 코드는 함수를 쓰는 것이 좋다.

    ▼ 함수포맷:
    function 함수명(<인풋 매개변수>){
      // 어쩌고저쩌고
      return 1234;
    }

     

    • console.log(), alert(), confirm() 같은 것도 다 함수다.
    • 함수 안에 넘어가는 것은 참조변수가 아닌 매개변수다. (copied value가 들어감)
    • 만약 매개변수가 없다면 function 함수명() ← 이렇게 공란으로 둔다.
    • function sayname(name = "Jane Doe") { ... } ← 이렇게 매개변수 디폴트값을 지정하는 것도 가능하다.
    • 만약 리턴값이 없다면 return; 리턴 우측에 공란을 두거나 아예 그냥 return이란 말을 언급안해도 됨. 그럼 undefined 반환.
    • 함수선언문 방식으로 쓸 경우, 코드창에서 정의된 function의 코드 위치가 어디든 상관이 없다.
    • 함수표현식 방식으로 쓸 경우, 위에서부터 순차적으로 읽히므로, 함수 표현식이 어느 시점에서 쓰였는지가 중요하다.
    • 화살표 함수의 경우 => 뒤에 {}대신 ()라고 쓰거나 아님 심지어 소괄호마저 생략할 수 있는 경우도 있다.
      - 매개변수가 없는 경우 => 뒤에는 무조건 {}포맷이 와야한다.
      - 두 줄 이상 올 경우에는 => 뒤에 {}포맷이 와야한다.

     

     

    ■객체

    • 객체 작성 포맷은 const <객체명> = { <속성값들> }
    • 데이터형(形)은 object이다.
    • 메소드가 나오기 전의 속성값들만 있는 자바스크립트의 오브젝트는 마치 파이썬의 딕셔너리 같다.
    • 속성값들은 파이썬 딕셔너리처럼 key : value 형태로 중괄호 안에 작성한다. 각 속성은 콤마로 분리한다. (줄바꿈 + 세미콜론X)

    • 접근은 <객체명>.<속성명> 으로만 접근하는게 아니라 <객체명>[<속성명>]도 가능하다.
      단 이때 키값은 따옴표로 감싸준다. 파이썬 판다스 콜롬에 접근하는 것과 유사하다!
    • '키값' in 객체로 true or false를 리턴받을 수 있다.
    • 그러므로 <객체명>.<추가속성명>=값 이나 <객체명>[<추가속성명>]=값이라고 외쳐서 내용 추가도 가능하다.
    • 없는 속성을 부르면 undefined가 뜬다. (에러발생 X)
    • 없는 속성을 삭제하려고 하면 아무일도 일어나지 않는다. (에러발생 X)

    • 객체는 아래와 같이 보다 간단히 선언할 수 있는데. 이건 key값 value값의 literally 같은 경우에만 가능하다.

     

    • for in <iterable> 포맷을 따서 객체 내부 내용을 순회할 수 있ek. (기본 포문 포맷은 자바랑 비슷한데, 이건 또 파이썬이랑 비슷하다)
      for(let ii in superman) { console.log(ii); } ← 이 경우 키값만 출력이 되서, name과 age만 보인다.
    • 객체이기 때문에 당연히 메소드도 추가 가능하다. 포맷은:
      함수명 : function(<인풋>) { ... }
      이때 콜롬 + function은 생략 가능하다.

    • 함수 내에서 자기 자신의 속성값을 접근할 때엔, this라고 붙인다. (자바처럼)
    •