글쓰는쿼카의 PM 여정
자바스크립트의 기본 문법(1): 변수와 상수, 데이터, 연산자, 함수 본문
열심히 강의만 들으면 뭐하노, 응용할 줄 모르는데🤦♀️
(응용할 줄 모른다면 그 개념은 모르는 거다)
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 |
'개발 > JavaScript' 카테고리의 다른 글
4. 콜백함수 (2024. 4. 30.) (0) | 2024.04.30 |
---|---|
3-2. 실행 컨텍스트(스코프, 변수, 객체, 호이스팅) (0) | 2024.04.29 |
차분히 냉정히 (2024. 4. 22.) (0) | 2024.04.22 |
🎵이름표를 붙여 내 <태그>에 (2024. 4. 19.) (0) | 2024.04.20 |
구글 폰트 왜 안 먹히지? 상자 안 아이템들 사이는 어떻게 벌리지? (2024. 4. 18.) (1) | 2024.04.18 |