강의 | Chap 15 JS 시작하기

#3. 산술, 할당 연산자

1) 산술 연산자:

총 5개가 있다.
+, -, *, /, % (나머지)

2) 할당 연산자:

const, let
const와 let은 재할당 가능한지를 고려하고 택1.
보통은 const를 기본으로 두고, 재할당 해야하는 경우 let으로 고쳐쓴다.
var는 현대적인 파일에서는 쓰지 않는다. 쓰는 경우 호환성 이슈 때문에 사용하는 것.

#4. 비교, 논리 연산자

1) 비교 연산자

  • === 일치 연산자
    1) 데이터 종류와 2) 값이 일치하는지 확인함.
    boolean 데이터로 (true, false)로 결과 나옴.

  • !== 불일치 연산자
    일치 연산자의 반대.
    1) 데이터 종류 또는 2) 값이 불일치하는지 확인한다.
    즉, 둘 중 하나만 오류여도 결과값이 true로 뜨며, 오류가 없을 때는 false로 뜬다.

  • < (뒤에 오는 값보다) 작다 smaller than

  • > (") 크다 greater than

  • >= (") 크거나 같다 greater than or equal to

  • <= (") 작거나 같다 smaller than or equal to

2) 논리 연산자

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

1. 호이스팅

함수 선언부가 유효범위 최상단으로 끌어올려지는 현상을 말함
참고. 함수 표현식, const ~ 는 불가함.
때에 따라 유용하게 활용될 수 있음.

2. 함수가 종료되는 시점


return 실행하고 나면 끝!

참고로 함수에서:
truthy: 문자데이터
falsy: undefined일 경우 좋지 않은 함수.
truthy/falsy 데이터 타입이 같아야지 신뢰가 가고, 안전하게 쓸 수 있음.
다른 데이터 타입이 반환 될 경우 잘 정리를 해놔야 함.

함수 스펙
JSDOC /** + tab키 입력

3. 구조 분해 문법(이해 안되서 다시 봐야 함)

  • 어제 강의 다시 참고하기.
  • ...rest
  • arguments (배열 데이터 x)

4. 화살표 함수

=> 있으면 화살표 함수임
없으면 아님. (this와 관련 있음)
중요 1. 화살표 뒤에 {} 있으면 return 있어야 하고
{} 없으면 그 뒤의 내용이 반환되는구나. 하면 됨!
중요 2. 객체 데이터 {...} 가 => function과 같이 있으면 ()로 커버해준다. 예) ({x:3})

5. 즉시실행 함수 IIFE

함수 한 번만 사용하고 안 쓸 때 사용 가능.
중요. 연달아 실행할 때는 이슈 생김.
;(익명함수()) 이렇게 생겼다고 생각하기.
;(익명함수)() 이것도 가능.

6. 콜백

함수 안의 함수.
2번째 함수는 분명 문서 어딘가에 그 내용이 적혀있을 텐데, 그것을 다시 불러오는 (호출하는) 것이 바로 콜백이다.

NOTE

  • 다다음 시간에 reduce 배울 예정
  • 배열과 객체 차이... 아주 크게 체감되지 않는다. 좋은 예시가 없을까.

1/11 추가.

배열array [ ]

배열은 순서대로 늘어놓은 것의 집합이다.
예시로 장을 보러 갈 때 우유, 달걀, 소고기, 쌀, 밀가루, 조리유를 사와야 한다면 이렇게 쓸 수 있겠다.

const shopping = [milk, eggs, beef, rice, flour, cookingOil]

console.log(shopping) // 그럼 위와 같은 순서로 나오겠지.

객체object { }

객체라는 말이 안 와닿으면 유사한 목적어object를 떠올려보자. (주체의 행동에 영향을 받는 대상)
예시로 A라는 사람이 있다면 주체에 대한 정보 name, age, gender, nationality 및 또 그에 대한 정보가 객체의 key: value를 의미한다.
위처럼 많은 갈래의 정보를 담고 있기에 array보다 좀 더 복잡해보인다!

profile
프론트엔드 개발 입문자입니다. 오타, 틀린 내용 피드백 환영합니다.

0개의 댓글