목차
유투브 코딩앙마 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라고 붙인다. (자바처럼)