1일차 자바스크립트 스터디
1. 코드 구조
- 줄바꿈시 암시적으로 세미콜론으로 해석한다 이걸 세미콜론 자동삽입이라 한다.
- automatic semicolon insertion
- 그러나 항상 줄바꿈이 세미콜론을 의미하지 않는다. 그 예로 연산자 뒤에 줄바꿈을 할 시, 세미콜론이 필요로 하지 않는 불안전환 표현식으로 판단해서, 세미콜론을 추가하지 않는다.
- 대괄호 같은 곳 앞에 세미콜론를 생략할시, 에러가 발생하는데, 대괄호 앞에 세미콜론이 있다고 가정하지 않기 때문이다.
- 그러므로 줄바꿈으로 문을 나눴더라도 세미콜론 삽입을 추천한다.
2. 엄격모드
"use strict"
자바스크립트 파일 최상단에 다음과 같이 선언을 하면 엄격모드가 실행된다.최상단에 위치 시키지 않으면 엄격모드가 실행되지 않는다.
한번 엄격모드를 실행하면, 취소할 방법은 없다.
브라우저가 오래되서 엄격모드를 실행하지 못할 시 래퍼로 감싸면 된다.
function(){ 'use strict' }
3. 변수와 상수
3.1 변수
변수(Variable)을 선언하는데에는 여러가지 방법이 있다.
let message; message = 'hello';
let message = 'user', age = '28', name = 'mmm';
변수는 동일한 변수명으로 여러번 선언하지 못한다.
병수 명명 규칙
- 변수명에는 오직 문자와 숫자 그리고 기호
$
와_
만 들어갈수 있다. - 첫글자는 숫자가 될수 없다.
- 변수명에는 오직 문자와 숫자 그리고 기호
카멜 표기법을 사용한다.
대소문자가 구별되고, 예약어는 선언할 수 없다.
엄격모드가 없을시 let을 안해도 변수가 할당된다. 하지만 권장하지 않는다.
3.2 상수
- 상수는 변화하지 않는 변수를 선언할떄 쓰인다.
const
로 선언한다.- 상수로 선언할 경우 재할당 할 수 없으므로, 상수를 변경하다보면 에러가 발생한다.
- 중요한 값들이나, 하드코딩한 값들의 별칭을 기억하기 쉽게 할려고 대문자로 선언한다.
3.3 바람직한 변수명
- 변수명은 간결하고 명확해야한다.
- 변수를 읽고 해당 변수가 어떠한 기능을 하는지 최대한 서술된 변수명을 사용하자
User
같이 단순한User
가 아니라newUser
oldUser
와 같이 명시적으로 어떤 유저인지 구분이 가능하도록 변수를 선언하도록 하자.
4. 자료형
- 자바스크릅티는 8가지 기본 자료형이 있다.
- 자바스크립트는 자료의 타입은 있지만 변수에 저장되는 값의 타입이 언제든지 바뀔수 있다.
- 위와 같은 특징을 가진 언어를 동적 타입 언어라고 한다.
4.1 숫자형
- 숫자형은 정수와 부동소수점 숫자를 나타내며,
Infinity
,-Infinity
,NaN
와 같은 특수 숫자값 도 있다. NaN
은 계산 중에 에러가 발생했다는 것을 나타내주는 값으로, 부정확하거나 정의되지 않은 수학연산을 사용할때 나온다.NaN
값은 쉽게 변하지 않으므로, 뒤의 연산에도 영향을 끼쳐NaN
이 반환되는 경우가 많다.
4.2 BigInt
BigInt는 (2^53-1)보다 크거나 -(2^53-1)보다 작은 숫자형을 사용해야할 경우 쓰인다.
쓰는방법은 정수리터럴 끝에
n
을 추가해주면 된다.let bigInt = '1231486192486846198249812649819845734961093759123648789n'
4.3 문자형
- 자바스크립트에서는 문자열을 따옴표로 묶을수 있는데, 총 세종류가 있다.
- 작은따옴표('') 와 큰 따옴표("")는 일반적인 상황에서 사용된다.
- 백틱 같은 경우
${...}
를 중간에 넣어주면, 변수나 표현식을 문자열 중간에 넣을수 있다.
4.4 불린형
- 논리 타입은
true
와false
를 나타낸다.
4.5 null 값
- 보통 다른언어에서는 존재하지 않는 객체의 참조를 나타낼때 많이 쓰지만, 자바스크립트에서는 존재하지 않거나 비어있거나 알수 없는 값일때 사용한다.
4.6 undefined 값
- 변수를 선언했지만 해당 변수에 값을 할당되지 않았을 때 자동으로 할당되는 값이다.
null
과 비슷하지만, 변수가 비어있거나 알수 없는 상태를 나타낼때에는null
을 쓰고,undefined
는 할당되지 않은 변수의 초기값에 쓰이게 두도록하자
4.7 객체와 심볼
- 객체형은 다른 자료형과 달리 데이터 컬렉션이나 복잡한 개체를 표현할때 쓰인다.
- 심볼형은 객체의 고유한 식별자를 만들때 사용된다.
4.8 typeof 연산자
인수의 자료형을 반환하는데, 두가지 형태를 지원한다.
typeof x typeof(x)
두 형태다 결과가 동일하고, 인수의 자료형을 반환해준다.
- 주의해야할 점
- null 같은 경우 별도의 고유한 자료형을 가진 값이지만, 객체로 반환된다. 실제로 객체가 아니지만, 하위 호환성을 유지하기 위해서 유지되는 오류이므로 유의해야한다.
- typeof의 인수가 함수이면
function
을 반환한다.
- 주의해야할 점
1일차 소감
- 기본자료형 중 null 값이 typeof시 objects를 반환하는지 몰랐다. BigInt형은 처음보았따.
- 기초지만 하나하나 다시 공부해봐야겠다.
출처 : 모던 자바스크립트 튜토리얼
'프로그래밍언어 > Javascript' 카테고리의 다른 글
자바스크립트 공부 3일차 (0) | 2021.02.26 |
---|---|
자바스크립트 공부 2일차 (0) | 2021.02.24 |
자바스크립트 공부 스타트 (0) | 2021.02.19 |