[2주차 TIL] Javascript
2024. 12. 16. 10:00ㆍ카테고리 없음
1. 자바스크립트의 기본 문법
JavaScript는 웹 개발의 중심 언어로, 가볍고 유연한 특성을 가지고 있습니다. 다음은 자바스크립트의 기본적인 문법 특징입니다.
- 대소문자 구분: let과 Let은 다른 것으로 인식됩니다.
- 명령어 종료: 명령어 끝에 세미콜론(;)을 붙이는 것이 권장되지만 필수는 아닙니다.
- 주석 사용법:
- 한 줄 주석: //
- 여러 줄 주석: /* */
2. 변수 선언과 데이터 타입
JavaScript에서는 데이터를 저장하기 위해 변수를 사용하며, var, let, const를 통해 선언합니다.
- var: 과거에 많이 사용되었지만 현재는 권장되지 않습니다. 함수 스코프를 가지며, 의도치 않은 재선언 문제가 발생할 수 있습니다.
- let: 블록 스코프를 가지며, 값의 재할당이 가능합니다. 현대 JavaScript에서 가장 일반적으로 사용됩니다.
- const: 블록 스코프를 가지며, 선언과 동시에 값을 할당해야 하며 재할당이 불가능합니다.
데이터 타입
- 기본형 (Primitive):
- 숫자(Number), 문자열(String), 불리언(Boolean), null, undefined, Symbol, BigInt
- 참조형 (Reference):
- 객체(Object), 배열(Array), 함수(Function) 등
3. 함수 정의와 호출
함수 정의 방법
- 함수 선언식: 가장 일반적인 방식으로, 호출 전에 선언이 가능합니다.
- function greet(name) { return ; } console.log(greet("Jiyang"));
- 함수 표현식: 변수에 함수를 할당하는 방식으로, 할당 이후에만 호출 가능합니다.
- const add = function(a, b) { return a + b; }; console.log(add(3, 5));
- 화살표 함수 (Arrow Function): 간결한 문법을 제공하며, this 키워드의 동작이 다릅니다.
- const multiply = (a, b) => a * b; console.log(multiply(4, 5));
4. 객체와 배열의 사용 방법
객체 (Object)
객체는 키-값 쌍으로 이루어진 데이터 구조입니다.
const person = {
name: "Jiyang",
age: 25,
greet() {
return `Hi, I'm ${this.name}`;
}
};
console.log(person.greet());
- 키와 값: 객체의 속성은 키와 값으로 구성됩니다.
- 메서드: 객체 내 함수는 메서드로 불립니다.
배열 (Array)
배열은 순서가 있는 데이터 리스트입니다.
const fruits = ["apple", "banana", "cherry"];
console.log(fruits[1]); // 'banana'
fruits.push("date");
console.log(fruits);
- 인덱스: 배열의 각 항목은 0부터 시작하는 인덱스를 가집니다.
- 메서드: push, pop, map, filter 등을 사용해 배열을 쉽게 조작할 수 있습니다.
5. 자주 사용하는 내장 함수들
문자열 관련 함수
- toUpperCase(): 문자열을 대문자로 변환
- includes(): 특정 문자열이 포함되어 있는지 확인
- const str = "Hello World!"; console.log(str.toUpperCase()); // HELLO WORLD! console.log(str.includes("World")); // true
배열 관련 함수
- map(): 배열의 각 요소에 함수를 적용하여 새로운 배열 생성
- filter(): 조건을 만족하는 요소만 추출
- const numbers = [1, 2, 3, 4]; console.log(numbers.map(n => n * 2)); // [2, 4, 6, 8] console.log(numbers.filter(n => n > 2)); // [3, 4]
수학 관련 함수
- Math.max(): 전달된 숫자 중 가장 큰 값 반환
- Math.random(): 0 이상 1 미만의 난수 생성
- console.log(Math.max(10, 20, 30)); // 30 console.log(Math.random()); // 예: 0.54321
객체 관련 함수
- Object.keys(): 객체의 키를 배열로 반환
- Object.values(): 객체의 값을 배열로 반환
- const obj = { a: 1, b: 2, c: 3 }; console.log(Object.keys(obj)); // ['a', 'b', 'c'] console.log(Object.values(obj)); // [1, 2, 3]