저희 스터디는 인프런 강의 김영보의 자바스크립트 바이블 시리즈로 스터디를 진행합니다!
자바스크립트 마스터를 목표로 삼고 커리큘럼으로 짜여 있는 네 강의들의 완강을 향해 힘차게 첫발을 내딛었습니다...😎
첫 주차인 만큼 복잡한 내용은 없었고, 그간 학교에서 다른 언어들을 배울 때와 마찬가지로 기본적인 문법들에 대해 공부했습니다!
주차 | 진도 | 강의시간(분) | 기간 |
1주차 | 0. 자바스크립트 기본, 1. 기본 문법 | 79 | 21년 10월 1일 ~ 21년 10월 7일 |
JS 스펙이란?
→ 자바스크립트 문법을 작성한 문서
ES3, ES5는 JS 스펙의 에디션
문장
Statement
- JS 코드 실행 단위
- 세미콜론까지 하나의 문장
- 들여쓰기는 일반적으로 2칸 or 4칸
변수
Variable
- 값을 저장하는 영역
- 변수에 저장된 값의 재사용
- 선언 및 할당
var book = "책";
var pen = "책", point = 123;
var note = "공책", camera = "카메라";
💡 이처럼 의미를 부여하여 변수명을 짓는 것을 시맨틱이라고 한다.
주석
Comment
// 한 줄 주석
// 확장성을 위해 코드 윗줄에 작성
var book = "책";
/*
블록 주석
일반적으로
4-5줄 이상을
주석으로 처리할 때
*/
console.log()
- 파마리터값을 브라우저 콘솔 창에 출력
- 콤마로 구분하여 다수 작성 가능
- JS가 아닌 console API에서 제공하는 함수
정수, 실수, 숫자 처리
- JS는 정수와 실수를 구분하지 않음 → 0.12 + 5 가능
(ES6에 구분 추가) - 1, 1., 1.0 모두 1.0으로 간주, 1로 표시
상수
Constant
- 변경할 수 없는 값
💡 상수 변수
- 상수가 설정된 변수
- 변수는 값을 변경할 수 있으므로 상수 변수는 '선언적 의미' (상수로 사용한다는 시맨틱 선언)
- 영문 대문자 사용 ex) var ONE = 1;
- JS가 제공하는 상수값은 변경 불가
ex) MAX_VALUE, MIN_VALUE 등
진수
Digit
- 10진수
- 16진수 - 대소문자 구분 x
- 0x → 16진수를 나타내는 값
- 0xf = 15 (a:10 ... f:15)
- 0xff = (16*15) + (15)
- 0xfff = (16_16_15) + (16*15) + (15)
- ...
- 8진수 - ES3에서 폐지, ES6에서 재정의
- 2진수 - ES6에서 특별한 방법 제공
자료형
Data Type
언어 타입
- JS 프로그램에서 사용할 수 있는 타입
ex) string, number, boolean, undefined → primitive 타입
+ null, object - JS에서는 변수 선언할 때 타입 직접 지정 필요 x
💡 typeof 연산자
typeof는 특별한 기능을 가진 단어로, 키워드라고 부름
console.log(typeof 123); // number console.log(typeof "book"); // string
1. number : 부호를 가진 값
💡 특수한 number 3개
Infinity : 양수 무한대
-Infinity : 음수 무한대
NaN : Not-a-Number
var point = 1 * "A"; console.log(point); // NaN
2. string : "" 또는 '' 사이에 작성
3. undefined : 변수의 dafault 값
- 변수에 값을 할당하지 않은 것을 나타내는 시맨틱
- var point; 하면 변수를 선언만 한 것으로 undefined가 초기값으로 설정
- undefined 자체가 값이므로 변수에 할당 가능하지만, 초기값인지 값을 할당한 것인지 구분이 되지 않으므로 대신 null을 사용한다.
4. null : undefined와 다르게 직접 할당해야 null이 됨
- 의도적으로 값을 할당한 것으로, 코드를 수행한 것이 된다.
- 설계 미스로 typeof null이 object라고 뜸 → ES6에서 해결
5. boolean : true / false
6. object : {name: value} 형태
- 프로퍼티 : name-value쌍 하나를 지칭
- → object는 프로퍼티 집합
스펙(문서) 타입
- 언어 알고리즘을 위한 타입으로 JS 프로그램에서 사용 불가
- ex) reference, list, completion, property descriptor, data block, lexical environment, lexical record 등
'3-1기 스터디 > JavaScript' 카테고리의 다른 글
[7주차] Function 오브젝트, Argument (0) | 2022.01.17 |
---|---|
[5주차] Array 오브젝트(ES3 기준), Array 오브젝트(ES5 기준) (0) | 2021.11.25 |
[4주차] Object 오브젝트, Function 오브젝트, Global 오브젝트 (0) | 2021.11.10 |
[3주차] 오브젝트, 빌트인, Number 오브젝트, String 오브젝트 (0) | 2021.11.10 |
[2주차] 2. 연산자, 문장, 함수 (0) | 2021.10.16 |
댓글