글쓰는쿼카의 PM 여정

자바스크립트의 기본 문법(1): 변수와 상수, 데이터, 연산자, 함수 본문

개발/JavaScript

자바스크립트의 기본 문법(1): 변수와 상수, 데이터, 연산자, 함수

글쓰는쿼카 joymet33 2024. 4. 23. 18:55

열심히 강의만 들으면 뭐하노, 응용할 줄 모르는데🤦‍♀️

(응용할 줄 모른다면 그 개념은 모르는 거다)

0. 변수 주요 개념

  • 변수 이름 : 저장된 값의 고유 이름 (예: mypostingbox)
  • 변수 값 : 변수에 저장된 값
  • 변수 할당 : 변수에 값을 저장하는 행위
  • 변수 선언 : 변수를 사용하기 위해 컴퓨터에 알리는 행위 (예: let a = 2)
  • 변수 참조 : 변수에 할당된 값을 읽어오는 것

 

1. 변수 선언

JS문법 같은 이름 여러 번 선언 가능 예시 기타
(덮어쓰는 방법)
var o var a = 1;
var a = 3;
console.log(a); // 3
가장 마지막에 선언한 값으로 변수 덮어씌움
let x let b = 5;
b = 9;
console.log(b); // 9
가장 마지막에 선언한 값으로 변수 덮어씌움
const x const c = 1;
c = 3; // 오류 발생
console.log(c); 
선언 후에 값을 변경할 수 없는 상수를 선언할 때 사용

 

2. 데이터 타입: 숫자(Number)

JS문법 예시
정수형 숫자(Integer) let num1 = 10;
console.log(num1); // 10
console.log(typeof num1); // "number"
실수형 숫자(Float) let num2 = 3.14;
console.log(num2); // 3.14
console.log(typeof num2); // "number"
지수형 숫자(Exponential) let num3 = 2.5e5; // 2.5 x 10^5
console.log(num3); // 250000
console.log(typeof num3); // "number"
NaN(Not a Number) let num4 = "Hello" / 2;
console.log(num4); // NaN
console.log(typeof num4); // "number"
Infinity (positive) let num5 = 1 / 0;
console.log(num5); // Infinity
console.log(typeof num5); // "number"
Infinity (negative) let num6 = -1 / 0;
console.log(num6); // -Infinity
console.log(typeof num6); // "number"

2. 데이터 타입: 문자열(String)

JS 문법 예시
length 문자열 길이  let str = "Hello, world!";
console.log(str.length); // 13
concat 문자열 결합 let str1 = "Hello, ";
let str2 = "world!";
let result = str1.concat(str2);
console.log(result); // "Hello, world!"
substr(시작점, 갯수)
slice(시작점, 종료점)
문자열 자르기 let str = "Hello, world!";
console.log(str.substr(7, 5)); // "world"
console.log(str.slice(7, 12)); // "world"
search 문자열 검색 let str = "Hello, world!";
console.log(str.search("world")); // 7
replace 문자열 대체 let str = "Hello, world!";
let result = str.replace("world", "JavaScript");
console.log(result); // "Hello, JavaScript!"
split(분할 구분점) 문자열 분할 let str = "apple, banana, kiwi";
let result = str.split(",");
console.log(result); // ["apple", " banana", " kiwi"]

2. 데이터 타입: 기타

JS문법 예시
불리언(Boolean) 참(true)과 거짓(false)을 나타내는 데이터 let bool1 = true;
console.log(bool1); // true
console.log(typeof bool1); // "boolean"
undefined 값이 할당되지 않은 변수 let x;
console.log(x); // undefined
null 값이 존재하지 않음
undefined와는 다름
let y = null;
객체(Object) 객체는 속성과 메소드를 가지는 컨테이너
중괄호({})를 사용
let person = { name: 'Alice', age: 20 };
person.name // 'Alice'
person.age // 20
배열(Array) 여러 개의 데이터를 순서대로 저장하는 데이터
대괄호([])를 사용
let numbers = [1, 2, 3, 4, 5];
let fruits = ['apple', 'banana', 'orange'];

 

3. 형 변환

JS문법 예시
문자열 변환 문자열 + 다른 자료형
(다른 자료형 > 문자열 변환)
console.log(1 + "2");   // "12"
console.log("1" + true);   // "1true"
console.log("1" + {});   // "1[object Object]"
console.log("1" + null);   // "1null"
console.log("1" + undefined);   // "1undefined"
숫자 변환 연산자(-, *) 사용 시 문자열 > 숫자
(빈 문자열, 공백 문자열은 0으로 변환)
console.log(1 - "2");   // -1
console.log("2" * "3");   // 6
console.log(4 + +"5");   // 9
불리언 변환
Boolean()
0, 빈 문자열(""), null, undefined, NaN = false로 반환
그 외 값 = true
console.log(Boolean(0));   // false
console.log(Boolean(""));   // false
console.log(Boolean(null));   // false
console.log(Boolean(undefined));   // false
console.log(Boolean(NaN));   // false
console.log(Boolean("false"));   // true
console.log(Boolean({}));   // true
<명시적 형 변환> 문자열 변환
String()
다른 자료형 > 문자열 console.log(String(123));       // "123"
console.log(String(true));      // "true"
console.log(String(false));     // "false"
console.log(String(null));      // "null"
console.log(String(undefined)); // "undefined"
console.log(String({}));        // "[object Object]"
<명시적 형 변환> 숫자 변환
Number()
다른 자료형 > 숫자 console.log(Number("123"));   // 123
console.log(Number(""));      // 0
console.log(Number("  "));    // 0
console.log(Number(true));    // 1
console.log(Number(false));   // 0