오늘은 밤새워서 공부하여 JS 문법을 좀 이해하는 시간을 가졌다. 아침 06시 30분까지 같은 기수 분에게 1:1로 설명 들으며 이번 필수 기능 구현에서 모르는 것 물어봐서 필수 가능에서 사용하는 문법은 이해가 되었다. 그게 문법을 이해하는 데 큰 도움이 됐다. 더불어서 위 사진처럼 자바스크립트 기초 강좌 유튜브 영상도 큰 도움이 되었기 때문에 오늘은 그 내용에 대하여 문법 개념과 기초에 대해 작성해 볼 생각이다.
< 목차 >
1. 형 변환
2. 비교 연산자, 조건문
3. 논리 연산자
1. 형 변환
string(변수)
: 문자열로 변환
Number()
: 숫자형 변환
* true = 1, false = 0)
* 숫자 + 문자 ⇒ NaN(Not a Number) 반환
Number(null) ⇒ 0
Number(undefined) ⇒ NaN
Number(0) ⇒ false
Numbre('0') ⇒ true
Number('') ⇒ false
Numbre(' ') ⇒ true
Boolean()
: 불린형 변환
(1) true
(2) false: 숫자 0, 빈 문자열 '', null, undefined, NaN
%(나머지) 용도
홀수: X % 2 = 1 (: 어떤 값이 들어와도 5를 넘겨선 안돼)
짝수: Y % 2 = 0 (: X % 5 = 0~4 사이의 값만 반환)
**(거듭제곱)
const num = 2 ** 3;
console.log(num); // 결과값: 8
연산자 우선순위
* / > + - (곱하기, 나누기가 더하기, 빼기보다 우선적으로 처리됨)
연산자 줄여쓰는 법 (+= -=)
num += 5 ⇒ num = num+5
++(증가 연산자), --(감소 연산자)
num++ ⇒ 증가시키기 전 값을 result에 넣어줌
result = num++;
++num
: 증가시킨 값을 result에 넣어줌
2. 비교 연산자, 조건문
(1) 비교 연산자
< > <= >= == !=
: 반환값은 항상 boolean(true or false)
동등연산자(==) type까지 비교하고 싶으면 ===(일치연산자) 쓸 것
(2) 조건문
if문
: 괄호 안에 들어가는 조건 평가 → true면 실행
if문의 ()값은 항상 true / false 반환된 뒤 판단
if(age > 19) {
console.log("환영합니다");
}
if(age <= 19) {
console.log("안녕히 가세요");
}
if ~ else문
: else는 if문의 조건이 false일 때 실행됨
const age = 30;
if (age > 19) {
console.log("환영합니다");
} else {
console.log("안녕히 가세요");
}
if ~ else if문
const age = 10;
if (age > 19) {
console.log("환영합니다");
} else if (age === 19) {
console.log("수능 잘치세요");
} else {
console.log("수능 잘치세요");
}
3. 논리 연산자 (3가지)
(1) || (or)
: 여러 개 중 하나라도 true면 true(첫 번째 true 발견 즉시, 평가 멈춤)
모든 값이 false일 때만 false 반환!
(2) ! (not)
:결과값 반대로 반환
true면 false, false면 true 반환
(3) && (and)
: 모든 값이 true면 true (첫 번째 false 발견 즉시, 평가 멈춤)
하나라도 false면 false 반환
▼ [사용 예시] ||, &&
const name = "Mike";
const age = 30;
if (name === "Mike" && age > 19) {
console.log("통과");
} else {
console.log("통과 실패");
}
▼ [사용 예시] !
if (!isAge) {
console.log("돌아가");
}
논리연산자 우선순위
if (gender === "M" && (name = "Mike" || isAdult)) {
console.log("통과");
} else {
console.log("돌아가");
}
'[Front-end] 개발자 공부' 카테고리의 다른 글
[개발 공부 14일차] 팀 프로젝트 2일차 (영화 검색 사이트 구현) (4) | 2024.01.11 |
---|---|
[개발 공부 13일차] 순수 자바스크립트 팀 프로젝트 시작 (2) | 2024.01.10 |
[개발 공부 11일차] 개인 프로젝트 난관과 해결책 (0) | 2024.01.08 |
[개발 공부 10일차] 콜백함수, 개인 프로젝트 시작 (2) | 2024.01.05 |
[개발 공부 9일차] 알고리즘과 Object.freeze().. 그리고 나 (2) | 2024.01.04 |