Hello World
웹 사이트는 HTML5, CSS, JavaScript 3가지 언어로 구성된다.
HTML5
: 요소들의 배치와 내용을 기술하는 언어
: 색이나 크기 등의 디자인 수행 x
CSS3
: 색, 크기, 애니메이션 등을 정의하는 스타일링을 위한 언어
JavaScript
: 웹 사이트에 활력을 부여하는 언어
변수와 상수
let age = 25;
변수
: 값을 저장할 수 있는 이름 붙은 저장소
변수명을 정할 때에는 몇 가지 규칙을 지켜야 한다.
: 변수명에는 기호를 사용할 수 없다. (단, _ 과 $ 는 사용할 수 있다.)
: 예약어를 피해주어야 한다.
var age = 25;
변수를 선언할 땐 let 또는 var 키워드를 사용한다.
: let은 var과 다르게 변수를 중복 생성하는 것을 허용하지 않아 실수의 가능성을 줄여준다. let 키워드를 사용할 수 있도록 하자.
const age = 25;
상수
: 상수는 중간에 값을 변경할 수 없다.
: Read-Only
: 상수는 선언과 동시에 초기화가 되지 않는다면 에러가 발생한다.
자료형과 형 변환
자료형
● Primitive Data Type : 원시 자료형 - Number - String - Boolean - Undefined - Null
● Non-Primitive Data Type : 비원시 자료형
- Object
- Array
- Function
자바스크립트의 자료형
● Primitive Type (원시 타입)
let number = 12;
한 번에 하나의 값만 가질 수 있음 : 하나의 순간에 하나의 값만 가질 수 있음
하나의 고정된 저장 공간 이용
● Non-Primitive Type (비원시 타입)
let array = [1, 2, 3, 4];
한 번에 여러 개의 값을 가질 수 있음
여러 개의 고정되지 않은 동적 공간 사용
let age = 25;
let tall = 175.9;
let inf = Infinity;
let minusInf = -Infinity;
let nan = NaN;
console.log(age + tall);
Infinity : 무한대
NaN : 수학적 연산의 실패의 결과 값으로 사용됨
"", '', ``
``을 사용하는 이유
: 중간에 변수를 넣어서 사용할 수 있다.
`` 안에 ${}와 같은 형식을 넣어 사용하는 것을 template-literal이라고 한다.
let isSwitchOff = false;
let a;
console.log(a); // undefined
let a = null;
console.log(a); // null
null
: 의도적으로 이 변수가 어떠한 값도 갖고 있지 않다는 것을 알려줄 때 사용하는 값이다.
let variable;
console.log(variable);
undefined
: 변수를 선언하고 어떠한 값을 할당하지 않았을 때에는 자동으로 undefine을 할당해준다.
let numberA = 12;
let numberB = "2"
console.log(numberA * numberB); // 2 : 24 // 두 번 출력됐다는 뜻
↑
??
보라색 : 숫자
흰색 : 문자열
console.log(numberA + numberB); // 122
parseInt
: 문자열을 받아서 숫자로 돌려준다.
let numberA = 12;
let numberB = "2";
console.log(numberA + parseInt(numberB));
프로그래머가 의도적으로 형변환해주는 것을 명시적 형변환이라고 한다.
연산자
1. 대입 연산자
let a = 1;
2. 산술 연산자
+ : 합
* : 곱
- : 차
/ : 몫
% : 나머지
3. 연결 연산자
let a = "1";
let b = "2";
console.log(a+b); // 12
let a = "1";
let b = 2;
console.log(a+b); // 12
묵시적 형변환
: 문자열과 숫자형 값을 더하려고 하면 숫자를 문자로 바꾼다.
4. 복합 연산자
let a = 5;
a = a + 10;
a += 10;
a -= 10;
a *= 10;
a /= 10;
5. 증감 연산자
원시 타입 중 숫자형에만 사용할 수 있다.
let a = 10;
a++;
console.log(a);
a--;
let b = 10;
b++;
console.log(b++);
console.log(++b);
console.log(b--);
console.log(--b);
증감 연산자를 뒤에 쓰게 되면 라인이 끝나고 값이 변경된다.
let c = 10;
console.log(c++); // 10
console.log(c); // 11
증감 연산자를 뒤에 쓰는 것을 후위 연산이라고 한다.
증감 연산자를 앞에 쓰는 것을 전위 연산이라고 한다.
전위 연산의 경우 먼저 값이 변경된다.
6. 논리 연산자
! : NOT
console.log(!true); // false
console.log(!false); // true
둘 다 참일 경우에만 참
console.log(true && true); // true AND true : true
console.log(true && false); // false
둘 중 하나만 참이어도 참
console.log(true || false); // true
console.log(false || true); // true
console.log(false || false); // false
7. 비교 연산자
let compareA = 1 == "1";
console.log(compareA); // true
JavaScript에서 ==을 쓰면 값만 비교하게 된다.
설령 자료형이 다르더라도, 값이 똑같기 때문에 true를 출력하게 된다.
자료형까지 같은 것을 비교하고 싶다면 ===을 사용해주면 된다.
let compareA = 1 === "1";
console.log(compareA); // false
let compareA = 1 != "1";
console.log(compareA); // false
let compareA = 1 !== "1";
console.log(compareA); // true
==보다 ===을, !=보다 !===을 이용할 수 있도록 하자.
let compareA = 1 > 2;
console.log(compareA); // false
let compareB = 1 < 2;
console.log(compareB); // true
let compareC = 2 >= 2;
console.log(compareC); // true
8. typeof 연산자
typeof
: 변수나 상수에 들어있는 값이 어떤 타입인지를 알려주는 연산자
let compareA = 1;
console.log(typeof compareA); // number
compareA = "1";
console.log(typeof compareA); // string
이미 값이 입력된 변수에 다른 자료형인 값을 대입할 수도 있다.
유연하다는 장점이 있지만, 오류가 발생할 수도 있다.
9. ?? (Null 병합 연산자)
?? (Null 병합 연산자)
: 양쪽의 피연산자 중에 null이나 undefine이 아닌 값을 선택한다.
let a; // a : undefined
a = a ?? 10;
console.log(a); // 10
조건문
let a = 3;
if (a >= 7) {
console.log("7 이상입니다.");
} else if (a >= 5) {
console.log("5 이상입니다.");
} else if (a >= 4) {
console.log("4 이상입니다.");
} else {
console.log("5 미만입니다.");
}
let country = "ko";
if (country === 'ko'){
console.log("한국")
} else if (country === 'cn'){
console.log("중국")
} else if (country === 'jp'){
console.log("일본");
} else {
console.log("미분류");
}
let country = "ko";
switch(country):{
case 'ko':
console.log("한국");
break;
case 'cn':
console.log("중국");
break;
case 'jp':
console.log("일본");
break;
case 'uk':
console.log("영국");
break;
default:
console.log("미분류");
break;
}
break로 끊어주지 않으면 처음 만나는 break 혹은 코드 끝까지 전부 실행된다.
해당 게시글은 인프런 - <한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지> 강의 내용을 기반으로 작성되었음을 알립니다.
'Coding > 언더독 레볼루션 (UnderDog Revolution)' 카테고리의 다른 글
웹 서비스, 알고 개발하자! | 1차시 ~ 3차시 (1) | 2024.02.12 |
---|---|
리액트 스터디 : JavaScript 응용 - 1 (Truthy & Falsy, 삼항 연산자, 단락회로 평가, 조건문 업그레이드, 비 구조화 할당, Spread 연산자) (0) | 2023.01.21 |
리액트 스터디 : React.js 기초 (0) | 2023.01.20 |
리액트 스터디 : Node.js 기초 (0) | 2023.01.20 |
리액트 스터디 : JavaScript 기본 - 2 (변수, 상수, 자료형, 형 변환, 연산자, 조건문) (1) | 2023.01.15 |