⌨️/JavaScript

[JavaScript] 데이터 타입, 연산자

S0 2023. 12. 30. 23:49

내일배움캠프: Node.js_4기

휴일 TIL

~오늘의 수강 과목~

1. JavaScript 문법 종합반 1주차 (최원장 튜터님)

_ 자바스크립트의 데이터 타입과 형변환

_ 자바스크립트의 연산자


 

데이터 타입

1. 숫자 (Number)

정수(Interger) : 10

실수(Float) : 3.14

지수(Exponential) : 2.5e5 (2.5 x 10^5)

NaN(Nat a Number) : 'number'(문자열)

Infinity : 1/0, -1/0(-infinity)

 

 

2. 문자열 (String)

문자의 나열로 '문자열' 혹은 "문자열"로 감싸서 표현

length : 문자열의 길이를 확인하는 함수
let str = "JavaScript is very hard";
console.log(str.length);

// 콘솔에 23 출력

 

concat : 문자열을 합쳐주는 함수
let str1 = "JavaScript is ";
let str2 = "very hard";

let result = str1.concat(str2);

console.log(result);

// 콘솔에 JavaScript is very hard 출력

 

substr, slice : 문자열을 잘라주는 함수
let str = "JavaScript is very hard";
console.log(str.substr(4,6)); // (시작 위치, 길이)

let str2 = "JavaScript is very hard";
console.log(str.slice(4,10)); // (시작 위치, 종료 위치)


// 둘 다 콘솔에 Script 출력

괄호 안 값을 인자라고 한다.

 

search : 문자열의 위치를 검색하는 함수
let str = "JavaScript is very hard";
console.log(str.search("Script"));

// 콘솔에 4 출력

 

replace : 문자열을 대체하는 함수
let str = "JavaScript is very hard";
let result = str.replace("hard", "simple");
console.log(result); 

// 콘솔에 JavaScript is very simple 출력

 

split : 문자열을 잘라 배열로 변환하는 함수
let str = "pink, blue, green";
let result = str.split(","); // ,를 기준으로 자르기
console.log(result);


// 콘솔에 [ 'pink', ' blue', ' green' ] 출력

 

 

3. 불리언(Boolean)

참(true)과 거짓(false)을 나타내는 데이터 타입

조건문, 논리연산자와 함께 사용되는 경우가 많음

후에 조건문, 논리연산자 파트에서 다시 정리

 

 

4. undefined

값이 할당되지 않은 변수

let x;
console.log(x); 

// 콘솔에 undefined 출력

 

 

5. null

값이 존재하지 않음을 명시적으로 나타내는 방법

의도적으로 값이 없는 상태를 보여준다는 점에서 undefined와의 차이점 확실히 인지

 

 

6. 객체 (Object)

속성과 메소드를 가지는 컨테이너로 {중괄호}를 이용하여 생성

let person = { 
    name: '개발하세영',
    age: 60 
};

person.name // '개발하세영'
person.age // 60

 

 

7. 배열 (Array)

여러 개의 데이터를 순서대로 저장하며 [대괄호]를 사용하여 생성

let numbers = [1, 2, 3, 4, 5];
let color = ['pink', 'blue', 'green'];

 


연산자

산술 연산자)

더하기 +, 빼기 -, 곱하기 *, 나누기 %

 

할당 연산자)

등호 연산자 =, 더하기 등호 연산자 +=, 빼기 등호 연산자 -=, 나누기 등호 연산자 =/, 나머지 등호 연산자 %/

 

비교 연산자)

일치 연산자 ( === )

두 값이 같으면 true, 같지 않으면 false를 반환 (자료형까지 비교)

console.log(2 === 2);   // true
console.log("2" === 2);   // false
console.log(2 === "2");   // false

 

불일치 연산자 ( !== )

일치 연산자와는 반대로 두 값이 같으면 false, 같지 않으면 true를 반환

console.log(2 !== 2);   // false
console.log("2" !== 2);   // true
console.log(2 !== "2");   // true

 

작다 연산자 ( < )

왼쪽 값이 오른쪽 값보다 작으면 true를 반환

숫자와 문자열을 함께 사용할 경우, 자동으로 숫자로 변환

console.log(2 < 3);   // true
console.log(2 < "3");   // true
console.log("2" < 3);   // true

 

크다 연산자 ( > )

왼쪽 값이 오른쪽 값보다 크면 true를 반환

console.log(2 > 3);   // false
console.log(2 > "3");   // false
console.log("2" > 3);   // false

 

작거나 같다 연산자 ( <= )

왼쪽 값이 오른쪽 값보다 작거나 같으면 true를 반환

console.log(2 <= 3);   // true
console.log(2 <= "3");   // true
console.log("2" <= 3);   // true
console.log(2 <= 2);   // true

 

크거나 같다 연산자 ( >= )

왼쪽 값이 오른쪽 값보다 크거나 같으면 true를 반환

console.log(2 >= 3);   // false
console.log(2 >= "3");   // false
console.log("2" >= 3);   // false
console.log(2 >= 2);   // true

 

 

논리 연산자)

논리곱 ( && ) 연산자

두 값이 모두 true일 경우에만 true 반환

console.log(true && true);   // true
console.log(true && false);   // false
console.log(false && true);   // false
console.log(false && false);   // false

 

논리합 ( || ) 연산자

두 값 중 하나라도 true일 경우 true 반환

console.log(true || true);   // true
console.log(true || false);   // true
console.log(false || true);   // true
console.log(false || false);   // false

 

논리부정 ( ! ) 연산자

true를 false로, false를 true로 변환

console.log(!true);   // false
console.log(!false);   // true
console.log(!(2 > 1));   // false

 

 

삼항 연산자)

typeof 연산자

해당 자료형의 이름, 혹은 object나 function을 반환

console.log(typeof 123);   // "number"
console.log(typeof "123");   // "string"
console.log(typeof true);   // "boolean"
console.log(typeof undefined);   // "undefined"
console.log(typeof null);   // "object"
console.log(typeof {});   // "object"
console.log(typeof []);   // "object"
console.log(typeof function(){});   // "function"

 


 

오늘의 메모

  • 출결 시스템을 타이머 겸 써봤는데 혹시 주말에 쓴 걸로 출결에 영향이 있으려나?
  • 같이 학습하는 메타버스 공간에 들어가보니 주말에도 열심히 공부하시는 분들이 계셔서 힘을 얻었다!(밥먹고 온 뒤로 다시 켜는 걸 까먹긴 했지만...)

 

내일의 목표

  1. 평일이랑 똑같은 시간대에 기상

 

앞으로의 목표

  1. 주말 루틴 만들기