총 5개가 있다.
+, -, *, /, % (나머지)
const, let
const와 let은 재할당 가능한지를 고려하고 택1.
보통은 const를 기본으로 두고, 재할당 해야하는 경우 let으로 고쳐쓴다.
var는 현대적인 파일에서는 쓰지 않는다. 쓰는 경우 호환성 이슈 때문에 사용하는 것.
===
일치 연산자
1) 데이터 종류와 2) 값이 일치하는지 확인함.
boolean 데이터로 (true, false)로 결과 나옴.
!==
불일치 연산자
일치 연산자의 반대.
1) 데이터 종류 또는 2) 값이 불일치하는지 확인한다.
즉, 둘 중 하나만 오류여도 결과값이 true로 뜨며, 오류가 없을 때는 false로 뜬다.
<
(뒤에 오는 값보다) 작다 smaller than
>
(") 크다 greater than
>=
(") 크거나 같다 greater than or equal to
<=
(") 작거나 같다 smaller than or equal to
1) &&
그리고 (또는 'and 연산자')
TIP) 콘솔에 출력되는 내용이 많아질 경우, 구분하고 싶은 내용의 console.log에 식별자를 추가할 수 있다.
예시. console.log('&&: ', a && b && c)
이렇게 작성할 경우 console에는 &&: true (또는 false)라는 결과값이 나타난다.
2) || 또(는 or 연산자)
true가 하나 이상히면 true가 된다.
TIP: !가 들어가면 부정 연산자라고 부른다.
참고)
매개변수는 인수를 받아준다.
출처: 박영웅 강사님
코스 수강자용 링크: https://github.com/KDT1-FE/KDT4-Theory-JS/blob/main/functions.md
함수 선언부가 유효범위 최상단으로 끌어올려지는 현상을 말함
참고. 함수 표현식, const ~ 는 불가함.
때에 따라 유용하게 활용될 수 있음.
return 실행하고 나면 끝!
참고로 함수에서:
truthy: 문자데이터
falsy: undefined
일 경우 좋지 않은 함수.
truthy/falsy 데이터 타입이 같아야지 신뢰가 가고, 안전하게 쓸 수 있음.
다른 데이터 타입이 반환 될 경우 잘 정리를 해놔야 함.
함수 스펙
JSDOC /** + tab키
입력
=>
있으면 화살표 함수임
없으면 아님. (this와 관련 있음)
중요 1. 화살표 뒤에 {}
있으면 return 있어야 하고
{} 없으면 그 뒤의 내용이 반환되는구나. 하면 됨!
중요 2. 객체 데이터 {...}
가 => function과 같이 있으면 ()로 커버해준다. 예) ({x:3})
함수 한 번만 사용하고 안 쓸 때 사용 가능.
중요. 연달아 실행할 때는 이슈 생김.
;(익명함수())
이렇게 생겼다고 생각하기.
;(익명함수)()
이것도 가능.
함수 안의 함수.
2번째 함수는 분명 문서 어딘가에 그 내용이 적혀있을 텐데, 그것을 다시 불러오는 (호출하는) 것이 바로 콜백이다.
NOTE
- 다다음 시간에 reduce 배울 예정
배열과 객체 차이... 아주 크게 체감되지 않는다. 좋은 예시가 없을까.
[ ]
배열은 순서대로 늘어놓은 것의 집합이다.
예시로 장을 보러 갈 때 우유, 달걀, 소고기, 쌀, 밀가루, 조리유를 사와야 한다면 이렇게 쓸 수 있겠다.
const shopping = [milk, eggs, beef, rice, flour, cookingOil]
console.log(shopping) // 그럼 위와 같은 순서로 나오겠지.
{ }
객체라는 말이 안 와닿으면 유사한 목적어object를 떠올려보자. (주체의 행동에 영향을 받는 대상)
예시로 A라는 사람이 있다면 주체에 대한 정보 name, age, gender, nationality 및 또 그에 대한 정보가 객체의 key: value를 의미한다.
위처럼 많은 갈래의 정보를 담고 있기에 array보다 좀 더 복잡해보인다!