일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- leetcode문제풀이
- JavaScript
- react
- JS
- stack문제
- 프로그래머스
- 자바스크립트코딩테스트
- 제로베이스
- Next.js13
- next13
- 알고리즘문제풀이
- Next
- 자바스크립트 문제 풀이
- CSS
- 자바스크립트 연결리스트
- lodash
- HTML
- 리액트쿼리
- 리액트
- 타입스크립트
- 자바스크립트 알고리즘 문제
- 자바스크립트 문제풀이
- 자바스크립트 알고리즘
- 프론트엔드
- leetcode
- til
- 자바스크립트
- Baekjoon
- 자바스크립트 문제
- NPM
- Today
- Total
코드노트
자바스크립트 기본 문법 정리 본문
javaScript란?
- 객체(Object)기반의 스크립트 프로그래밍 언어
- ECMAScript 사양을 준수하는 범용 스크립팅 언어 / ECMAScript : 자바스크립트를 표준화하기 위해 만들어짐
- 자바와 직접적인 연관은 없으며, 웹의 동적 동작을 구현하기 위해 제작
- Mocha -> LiveScript -> JavaScript로 명칭 변경
- JavaScript는 JS엔진위에서 수행되며, Google V8, Firefox SpiderMonkey, Edge Chakra 존재
- JavaScript는 서버가 아니라 클라이언트에서 실행
- 인터프리터 방식으로 다른 언어에 비해 유연함
자바스크립트 기본 문법
변수
- 분류된 데이터에 대하여 담을 수 있는 이름을 가진 어떤 공간
변수 선언 방식
- 데이터 종류 + 변수이름 + 세미콜론;
ex) let 변수이름;
변수 종류
- int, double, string이 존재하지 않음
- let (가변형 블록 지역 변수) / 변수 선언 후 값을 변경 가능하다.
- const (불변형 블록 지역 변수 / 변수 선언 후 다른 값으로 변경 불가능
*변수 선언시 지켜야하는 규칙
- 대문자와 소문자를 구별
- 예약어 사용 X / 기존 자바스크립트에서 사용되는 언어들은 사용할 수 없다.
- 의미 있는 이름을 사용하는것이 좋다.
- 추상적인 이름은 사용하지 않는다.
- 변수 이름은 camelCase로 사용한다.
할당
- 공간에 데이터를 넣는것
값 -value
- 어떤 식을 평가한 결과로서 실제 메모리에 저장되는 최소 단위
* 값은 프로그램에 의해 조작될 수 있는 대상
- 조작 가능한 어떤 표현
- 문자열, 문자, 숫자, 등을 가지고 있음
- 피연산자 + 연산자
값의 종류
- 원시 값 / 문자, 숫자, undefined, null, boolean
- 참조 값 / {name : code}
값 출력 방법
- console.log
- alert
- document.write
- innerHtml
리터럴(literal)
- 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용하며, 코드가 실행될 시점에 값을 생성하는 방식
* 소스코드 안에서 직접 만들어 낸 상수 값 자체를 말하며 값을 구성하는 최소 단위 표기법
▶ 숫자 리터럴, 정수 리터럴, 부동 소숫점 리터럴, 2진수(8, 16진수..) 리터럴, 문자열 리터럴, 불리언 리터럴... 등등
데이터 타입(Data Type) - 프로그래밍 언어에서 사용할 수 있는 값의 종류
변수(Variable) - 값이 저장된 메모리 공간의 주소를 가리키는 식별자(identifier)
표현식
- 값으로 평가 될 수 있는 문.
표현식(expression)은 평가(evaluation)되어 값을 생성하는 문(statement)이다.
표현식과 표현식이 생성한 값은 동치(equivalent)다. 따라서 표현식은 값처럼 사용할 수 있다.
▶ 리터럴 표현식, 식별자 표현식, 연산자 표현식, 함수/메서드 호출 표현식 등
숫자, Number
→ 숫자를 표현
→ 원시 값
→ 상수(constant)와 함수(method)를 가짐
→ float, double, int 데이터 타입은 없음
문자, string
→ 문자를 표현
→ 원시 값
→ 문자열 리터럴 "", '', ``
연산자, operator
→ 연산에 사용하는 기호
→ +,-,*,/,...
피연산자, operand
→ 연산의 대상
→ 10, 20, ...
- 산술 연산자
→ +,_,*,/,%,
- 증감 연산자
→ ++, --
- 할당 연산자
→ =, +=, -=, *=, /=, %=
- 비교 연산자
→ ==, ===, !=, !==, <, >
- 논리 연산자
→ &&, ||, !
문(statement)
→ 어떤 것을 수행하는 구문 단위
→ 함수 기능을 구현한 코드로 사용
- 프로그램을 구성하는 기본 단위이자 최소 실행 단위
- 문은 여러 토큰(token, 문법접 의미를 갖는 코드의 기본요소)으로 구성된다.
- 문의 집합으로 이루어진 것이 바로 프로그램이며, 문을 작성하고 순서에 맞네 나열하는 것이 프로그래밍
▶ 변수 선언문, 표현식 문, 함수 선언문, 조건문, 반복문 등
문 유형
→ 조건문 (if ~ else, switch ~ case)
- if ~ else
- 조건이 참이면 참인 조건에 걸리는 로직 실행
- switch ~ case
- switch 괄호 안에 값이 case의 값이 case의 값과 같으면 해당 로직 실행
- case는 여러개 사용 가능
→ 반복문(for, while, do ~ while)
- while(조건식)
- for문과 동일
- 조건식에 맞으면 로직 반복 실행
- 조건식에 맞지 않으면 종료
- for(초기화; 조건식; 증감식)
- 조건식에 맞으면 로직 반복 수행
- 조건식에 맞지 않으면 종료
함수 function
- 어떤 기능을 만든 코드 집합
- 독립적으로 설계
- 반복적인 코드 작성을 피할 수 있음
- 코드 간결화로 가독성을 높임
객체 Object
- 객체는 우리가 인식할 수 있는 사물
- 키(key)와 값(value)의 집합
- {}
객체 프로퍼티 참조 방식
- 객체이름. 프로퍼티 이름
- 객체 이름["프로퍼티 이름"]
객체 메서드 참조 방식
객체이름.메서드 이름()
표현식인 문과 표현식이 아닌 문
- 표현식인 문 : 값으로 평가될 수 있는 문
- 표현식이 아닌 문 : 값으로 평가될 수 없는 문
- 표현식은 값처럼 사용할 수 있으며, 확인방법은 변수에 할당을 해보면 확인할 수 있다. ( 표현식이 아닌 문은 undefined를 출력한다.)
ex) 변수를 선언하는건 값으로 평가될 수 없다. 선언된 변수에 할당하는건 값으로 평가될 수 있다.
식별자(identifier)
- 어떤 값을 구별하여 식별해낼 수 있는 고유한 이름
* 변수 이름도 식별자이다.
* 식별자 네이밍 규칙
--- 특수문자를 제외한 문자, 숫자, _ , $
--- 숫자로 시작하면 안된다.
--- 예약어는 식별자로 사용할 수 없다.
'Code note > 자바스크립트' 카테고리의 다른 글
자바스크립트 연산자, 배열, 함수 정리 (0) | 2022.09.18 |
---|---|
자바스크립트 표현식, 문 정리 (0) | 2022.09.15 |
자바스크립트 원형 연결리스트 정리 (0) | 2022.09.10 |
javascript sort 배열 정렬방법 정리 / 오름차순, 내림차순, 문자, 숫자, 객체 (0) | 2022.09.07 |
자바스크립트 약수 구하기 코드 (0) | 2022.09.06 |