카테고리 없음
2023-05-22 JavaScript 1주차.
sangwoo_rhie
2023. 5. 22. 21:11
01. 변수, 상수
// 변수, 상수
// 변수 : 기억하고 싶은 값을 메모리에 저장한다. 메모리에 저장된 값을 읽어들여서 재사용한다.
// 변수의 5가지 주요 개념
// 변수 이름: 저장된 값의 고유 이름
// 변수 값: 변수에 저장된 값
// 변수 할당: 변수의 값을 저장하는 행위
// 변수 선언: 변수를 사용하기 위해 컴퓨터에 알리는 행위
// 변수 참조: 변수에 할당된 값을 읽어오는 것
// 변수를 선언할 수 있는 3가지 방법 : var, let, const
// 1. var
var myVar = "Hello World";
var myVar = "Test1";
myVar = "GoodBye";
console.log(myVar);
// 2. let
let myLet = "Hello World1";
// let myLet = "Test2";
myLet = "GoodBye 1"
console.log(myLet);
// 3. const
const myConst = "Hello World2";
// const myConst = "Test3";
myConst = "GoodBye 2"
console.log(myConst);
02. 데이터타입 숫자
// 데이터 타입
// runtime : run 하는 time
// 코드를 작성할 때가 아니라, 실제 코드가 실행될 때
// -> 앞에 터미널에 코드가 실행될 때
// 그 때, 데이터 타입이 결정된다.
// java : string = "abc";
// javaScript : const a ="abc";
// 1. 숫자 타입
// 1-1 정수형 타입
let num1 = 10;
console.log(num1);
console.log(typeof num1);
// 1-2 실수형 타입 (float)
let num2 = 3.14;
console.log(num2);
console.log(typeof num2);
// 1-3 지수형 숫자(Exp)
let num3 = 2.5e5; //2.5 x 10^5 (2.5곱하기 10의 5제곱)
console.log(num3);
console.log(typeof num3);
// 1-4.
// NaN = Not a Number 숫자가 아닌값을 변환하려고할때 오류뜸.
let num4 = "Hello" / 2;
console.log(num4);
// 1-5. Infinity (무한대)
let num5 = 1 / 0;
console.log(num5);
console.log(typeof num5);
// 1-6. Infinity (마이너스 무한대)
let num6 = -1 / 0;
console.log(num6);
console.log(typeof num6);
03. 데이터타입 문자
// 2.문자 : string (문자열 = 문자의 나열)
// 문자열은 작은따옴표 ' ' 또는 큰따옴표 " " 로 감싼다.
let str = "Hello World!";
console.log(str);
console.log(typeof str);
// 2-1 문자열 길이 확인하기 (length)
console.log(str.length);
// 2-2 문자열 결합하기 (concatenation)
let str1 = "Hello, ";
let str2 = "World!";
let result = str1.concat(str2);
console.log(result);
// 2-3 문자열 자르기 (substring)
let str3 = "Hello, World!";
console.log(str3.substr(7, 5));
console.log(str3.slice(7, 12));
// 2-4 문자열 검색 (search)
let str4 = "Hello, World!";
console.log(str4.search("World"));
// 2-5 문자열 대체 (replace)
let str5 = "Hello, World!";
let result01 = str5.replace("World", "JavaScript");
console.log(result01);
// 2-6. 문자열 분할 (split)
let str6 = "apple, banana, kiwi";
let result02 = str6.split(",");
console.log(result02);
04. 기타 데이터타입
//불리언 (Boolean) , 참과 거짓 true, false
let bool1 = true;
let bool2 = false;
console.log(bool1);
console.log(typeof bool1);
console.log(bool2);
console.log(typeof bool2);
//undefined : 값이 없음. 미지정
// let x;
// console.log(x);
//null : 개발자가 의도적으로 값이 존재하지 않음을 '명시적'으로 나타내는 방법
let y = null;
console.log(y);
//object : 객체 => key-value pair
let person = {
name : 'choi',
age : 20,
isMarried : true
}
console.log(typeof person);
//array : 배열 (대괄호로 감싸줌)
// 여러개의 데이터를 순서대로 저장하는 데이터 타입
//각 항목들은 순서대로 들어가있기 때문에, 위치에 대한 데이터(index)가 있다.
// 인덱스는 1이 아닌 0부터 시작한다.
let number = [1, 2, 3, 4];
let fruits = ['apple', 'banana', 'kiwi'];
05. 형 변환
// 형 변환 (형태를 바꿈)
// 명시적 형변환 : 개발자가 의도한 형변환
// 암시적 형변환 : 개발자가 의도하지 않았고, 자동적으로 바뀌는 형변환
// 1.암시적 형 변환
// // 1-1. 문자열
let result1 = 1 + "2";
console.log(result1);
console.log(typeof result1);
// // 더하기 연산자로 숫자(1)와 문자("2")가 만나면 문자열(string)으로 바뀜
let result2 = "1" + true;
console.log(result2);
console.log(typeof result2);
// // 문자열("1")과 다른 데이터타입(불리언)만났을때 역시 문자열(string)으로 바뀜
// // 즉, 문자열과 다른 데이터를 더하기(+)를 할 때, 문자열이 우선시된다.
// // { }, null, undefined + "1" => 다 문자열화 된다.
// // 1-2. 숫자
let result3 = 1 - "2";
console.log(result3);
console.log(typeof result3);
let result4 = "2" * "3";
console.log(result4);
console.log(typeof result4);
// 더하기(+)연산자가 아닌 다른 연산자 빼기(-),곱하기(*),나누기(/)에서는 항상 숫자가 우선시됨.
// 2. 명시적 형 변환
// 2-1. Boolean
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));
console.log("-----------------------");
console.log(Boolean("false"));
console.log(Boolean({}));
// Boolean(괄호) 값을 Boolean타입으로 바꾸고 싶다.
// boolean에서 빈문자열이 아닌, 값이 있는 문자열(문자"false", 빈객체{ })은 true로 나옴.
// 2-2. 문자열 명시적 형 변환
let result5 = String(123);
console.log(result5);
console.log(typeof result5);
let result6 = String(true);
console.log(result6);
console.log(typeof result6);
let result7 = String(false);
console.log(result7);
console.log(typeof result7);
let result8 = String(null);
console.log(result8);
console.log(typeof result8);
let result9 = String(undefined);
console.log(result9);
console.log(typeof result9);
// 1-3. Number타입 형 변환
let result10 = Number("123");
console.log(result10);
console.log(typeof result10);