JS 기초 문법
2023. 4. 17. 11:21ㆍzerobase/javascript
728x90
1. 인사
console.log(x,y,z)
2. 기본연산자, 값
- 산술 연산자 : + , - , * , / , % , **
- 복합할당 연산자 : += , -= , *= , /= , %= , **=
- 할당 연산자 : =
3. 연산자
- 비교 연산자 : == , === < , > , <= , >=
- 증감 연산자 : ++ , -- , ++X, X++
- 논리 연산자 : ||(OR) , &&(AND)
- 부정 연산자 : !
4. 변수와 상수
- let : 변수 생성 키워드
- const : 상수 생성 키워드
- var : 레거시 키워드
5. 자료형
동적 타입 언어
- 숫자형 : Infinity, -infinity, NaN
- BigInt형 : 2^53-1 보다 크거나 -(2^53-1) 보다 작은 정수 표현, 숫자 끝에 N을 붙혀서 사용
- 문자형 : “”, ʻʼ, `` 로 표현 가능
- 불린형 : 참 / 거짓
- 객체형(null) : null : 비어 있음, 자바스크립트가 가지고 있는 오
- Undefined : 값이 할당되지 않음
typeof 연산자로 변수의 타입 확
6. 형 변환
- 묵시적 형 변환 : 변수 앞에 + 붙히면 숫자형으로 변환, 앞쪽에 부정 연산자를 붙히면 불린형으로 변환, string을 인자로 받는 함수 값에서는 어떤 인자를 넘겨도 string 으로 변환
- 명시적 형 변환 : String, Number, Boolean 같은 클래스에 인자로 넘겨주면 해당 값을 변환해줌
7. 조건
- If : if (조건1) { 조건1이 참일 때 (1) } else if (조건2){ 조건1이 거짓 / 조건2가 참일 때 (2) } else { 조건1, 2가 모두 거짓일 때 (3) }
- 삼항연산자? : 조건 ? // 조건이 참일 때 (1) : // 조건이 거짓일 때 (2)
- Switch : switch (값) { case 케이스1 : // 값이 케이스1일 때 break; default : // 앞선 케이스들에 하나도 해당되지 않을 때}
8. 반복
- for : for (초기; 조건; 실행){ // 반복되는 코드 }
- While : 초기 while(조건){ // 반복되는 코드 실행 }
- do-while : 초기 do{ // 반복되는 코드 실행 } while (조건)
9. 함수
- 선언식 : function 함수이름(매개변수 = 기본값) { // 코드 }
- 표현식 : const 함수이름 = function(매개변수) { // 코드 }
- 화살표 함수 : const 함수이름 = (매개변수) => { // 코드 }
- 지역 변수/ 전역 변수 : 함수 내부에서만 사용되는 지역 변수, 밖에서도 사용되는 전역 변
10. 객체 기본
- 객체 생성 : { } 중괄호나 객체 생성자로 생성
- 구조(프로퍼티, 메서드) : 사람 = { key: value } / 프로퍼티 : 성별, 국적, 이름, 취미 / 메서드 : 말하다, 걷다, 물건을 집
- 접근 : 점 표기법(obj.key) / 대괄호 표기법(obj[key])
11. 객체 응용
- delete : 삭제 : delete obj.name;
- in : 프로퍼티 유무 : property1 in obj
- for-in : 반복 : for (변수 in obj) { // 변수를 이용한 코드 }
- 옵셔널 체이닝 : obj?.property?.subProperty
- 구조 분해 할당 : const { property } = obj;
- 주소 복사 : Object.assign(빈 객체, 복사 대상 객체)를 이용하면 값 복사가 가능
- copy : deep copy / shallow copy
- 생성자 함수와 this : 객체의 메서드 실행 시, this는 메서드를 호출한 객체 / new 키워드로 생성자 함수 호출 시 this가 만들어지고 반환됨
12. 배열
- 배열 생성 : [ ] 대괄호나 배열 생성자로 생성
- 접근(index 0 부터)
- 함수
- .pop() 마지막 인덱스 삭제
- .push() 마지막 인덱스 삽입
- .shift() 첫번째 인덱스에서 요소 빼
- 스택, 큐
- length : array.length -> 요소 삭제도 가능
- 주소 복사 : 참조를 통한 복사 (주소 복사)
- for-of : for (변수 of array) { }
- forEach, map : array.forEach((변수) => { }) / array.map((변수) => { return })
- 구조 분해 할당 : const [ value1, value2 ] = array;
13. 모듈
- 내보내기 : export
- 가져오기 ; import
- 모듈 시스템 : 내보내지 않은 변수는 외부로 노출되지 않아 자원 보호가 가능
'zerobase > javascript' 카테고리의 다른 글
class를 활용해서 모듈화하기 (0) | 2023.04.29 |
---|---|
웹 프론트 JS (0) | 2023.04.17 |
모듈 (0) | 2023.04.16 |
배열 (0) | 2023.04.16 |
객체 (0) | 2023.04.16 |