Chapter2 자바스크립트의 좋은 문법들
by Alex
자바스크립트의 좋은 문법들
1. 공백(white space)
- 문자를 구분하는 형태: 공백을 사용하지 않으면 하나의 토큰으로 묶여버리는 것을 방지하지 위해 사용한다.
- 주석의 형태: 코드의 가독성을 높이기 위해 사용한다. 코드에 대해 정확히 설명해야 한다.
자바스크립트에서 블록 주석 많이 사용 되지 않는다.
/* */
은 PL/I(Program Laguage One) 언어에서 많이 사용되었다. PL/I 프로그램에서는 문자열을 제외하고 이러한 조합이 많이 사용 되지 않았다. 하지만 자바스크립트의 정규 표현식을 통해 이러한 조합의 문자가 많이 사용되므로 되도록 이면 사용을 권하지 않는다.
// 문자를 구분하는 형태
const bar = 'test';
// 주석의 형태
// 한줄 주석
/*
블록 주석
*/
// 자바스크립트에서 블록 주석을 선호 않는 이유
/*
var bar = /a*/.match(5);
*/
2. 이름(Names)
하나의 문자나 하나 이상의 문자, 숫자, _ 로 이루어진 문자열로 statement, variable, parameter, operator 등에 사용한다. 하지만 예약어(언어상에서 이미 정해놓은 의미있는 단어들)는 이름으로 사용할 수 없다.
3. 숫자(Numbers)
자바스크립트의 숫자형을 하나만 존재.
- 64비트 부동소수점 형식 (자바의 double형 만 존재)
- 정수와 실수의 구분이 없으므로 숫자형에서 발생하는 모든 오류 대부분을 줄일수 있다. (short 형을 사용하고 overflow가 발생)
- NaN(Not a Number): 수치 연산을 해서 정상적이 값을 얻지 못하는 경우
- Infinity: 무한대를 나타내는 숫자값
console.log(1 === 1.0);
// true
console.log('a' * 1);
//NaN
console.log(1 * Infinity);
//Infinity
4. 문자열(String)
작은 따옴표(‘ ‘)나 큰따옴표(“ “)로 묶어서 나타낸다. 자바스크립트는 유니코드 16비트 문자 셋으로 이루어져있다.
- 문자하나만 표현하는 타입이 따로 존재하지 않아 문자하나만 포함한 문자열을 사용.
- escape string:
\
를 붙여 원래의 의미에서 벗어나는 문자 - immutable 속성을 가짐, 일단 문자열이 생성되면 결코 변경되지 않음
console.log("A" === "\u0041");
// true
5. 문장(Statement)
어떤 동작을 수행하는데 가장 기본적인 요소. expression을 포함하고 있으며, 완결성있게 실행되는 최소한의 코드 단위.
<script>
는 웹브라우저에서 즉시 실행되는 하나의 컴파일 단위.- linker가 존재하지 않지 때문에 javascript은 모든 statement는 공통적인 namespace에 넣어둠.
- switch, while, if, for, do, return, break, throw…
- block({}): statement에 집합, 새로운 scope을 생성하지 않음. javascript의 유효범위는 블록단위가 아닌 함수 단위로 정의k
- https://github.com/DongHyunKims/javascript-notes/tree/master/notes/scope
6. 표현식(Expression)
어떤 다른 값을 반환하는 값, 상수, 연산자, 변수, 함수.
- 리터럴 값, 변수, 내장값(true, false, null, undefined, NaN, Infinity 등), 이항연산자, 삼항연산자, 함수호출…
7. 리터럴(Literals)
변수 및 상수에 입력하는 변하지 않는 데이터값
그 자체.
- 상수, 변수: 메모리에 할당된 공간, 리터럴: 해당 공간에 할당된 값
- 데이터를 표현하는 방식 (expression): 속도의 향상, 가독성이 좋기 때문에 많이 사용한다.
const a = {}; // new Object();
const b = []; // new Array();
토론
- number type의 메모리를 어떻게 할당하는지? 남은 메모리를 어떻게 관리 하는지
- 자바스크립트 gc가 어떻게 동작하는지? https://engineering.huiseoul.com/자바스크립트는-어떻게-작동하는가-메모리-관리-4가지-흔한-메모리-누수-대처법-5b0d217d788d
Subscribe via RSS