본격적인 학습이 시작되는 이틀차. 오랜만에 용어 하나하나의 의미를 다시금 공부하려니 새로운 마음으로 임하게 된다. 오늘 정리할 Achievement Goals는 다음과 같다.
데이터를 처리하기 위해 사용한다. 이름이 붙은 값으로 데이터를 좀 더 편리하고 반복적인 일에도 쉽게 다루기 위해서 사용한다. 변수는 선언과 할당으로 사용할 수 있다.
선언
let age; // 나이라는 변수 선언
할당 (assign)
age = 24; // 선언된 변수에 데이터 할당
표현식 (expression)
pi*5*7;
할당되지 않은 변수에는 undefined로 처리된다.
변수명을 지을때는 CamelCase 방법이 있다. (중간에 단어가 바뀔때 대문자 쓰는법)
변수마다 각자의 타입이 정해져 있다.
각각의 자료형은 각자의 속성과 메소드를 가진다.(객체뿐만 아니라 기본자료형에도 존재 - ex) Number('100');은 숫자 100을 리턴)
원시 자료형
String, Number, Boolean, Undefined, BigInt, Symbol
참조 자료형
여러 자료형이 섞여있는 compound 자료형 배열, 객체
추가적인 설명은 https://weicomes.tistory.com/133 여기로 참조
typeof
특정 값의 자료형은 typeof로 자료형을 확인해볼 수 있다.
console.log(typeof 32); //output은 number
함수는 기능의 단위로 필요할때마다 사용하고 구체적인 입력과 출력을 가진다. 그리고 함수는 반드시 값을 return 한다.(return문을 사용하지 않았다면 undefined가 반환된다)
Evaluation of Expressions
let result = cal(10,20);
function cal(param1,param2){ //파라미터 평가가 완료되면 param1에는 10, param2에는 20이 들어간다
console.log(param1 + param2);
return param1 * 10; //함수 호출코드로 다시 돌아가 리턴값이 할당된다.
}
conditional expression 조건을 판별하는 기준을 만든다.
truthy, falsy
truthy는 참으로 여겨지는 값, falsy는 거짓으로 여겨지는 값
👉 falsy 값 6가지
false, null, undefined, 0, NaN(not a number), ''(빈 string)
비교 연산자
<,>,>=,<=,===,!==
(==는 엄격하게 체크해주지 않는다. ex) 1 == '1' // true
자료형이 달라도 true라고 처리된다)
논리 연산자
&& : AND 연산자 (둘 다 true여야 통과 가능)
|| : OR 연산자 (둘중 하나만 true여도 통과 가능)
! : NOT 연산자 //truthy, falsy 여부를 반전시킴
❗ 문제가 되는 부분을 추적하는 과정은 디버그, 디버그를 실시하는 행위는 디버깅
🧐 알고리즘 - 문제를 분해시키고 그에 맞게 한단계씩 수도코드를 작성한다. 따로 주석을 달 필요없이 수도코드가 자연스럽게 주석으로 달리게 된다.