console.log()를 사용하면 값은 콘솔을 통해 계산, 출력된다.
주석(comment) : //를 사용하면 한 줄의 내용이 비활성화 된다. 여러 줄을 주석처리하는 경우, /(별표) (별표)/ 사이에 코드를 넣어주면 된다. 단축키(command + /)
자바스크립트에는 7가지 종류의 데이터 타입이 있다.
- strings (문자열) : 따옴표 안에 들어가야함
- numbers (숫자) : 따옴표 없이 정수, 소수 모두 가능
- booleans (논리형) : 참 또는 거짓 / truthy & falsy - true가 아닌데 true로 반환하는 것들을 truthy, false가 아닌데 false로 반환하는 것들을 falsy라고 한다.
- null : 의도적으로 변수에 값이 없다는 것을 명시. 빈 값(blank)을 의미
- undefined : 정의되지 않은, 값이 대입되지 않은 상태. 선언은 됐지만 아직 value가 할당되지 않은 경우
- symbol
- object (객체 타입) : key값과 value값을 쌍으로 이루고 있고, 배열과 다르게 순서가 중요하지 않다. {key: property}
* property(속성) : 객체 안에 선언된 이름과 값으로 이루어진 한 쌍.
* truthy : 객체리터럴{}, 빈배열[], 숫자, 문자, infinity
* falsy : 빈문자열"", undefined, 0, -0, NaN(Not a Number), null
<script>
let person = {
firstName: 'Seo'
lastName: 'Mia'
age: 28
};
</script>
Variable, 변수는 재사용가능한 값으로 정보를 저장한다. 변수에 값을 할당할 때 대입연산자(=)를 사용한다.
변수는 처음 선언된 경우 초기값으로 undefined, 즉 정의되지 않은 값을 갖는다.
변수를 선언하는 것과 값을 대입하는 것은 별개다. 선언된 변수가 특정한 값을 갖기 위해서는 대입연산자를 사용해 그 값을 대입해주어야 한다.
변수의 이름을 정할 때
- 대소문자 구분
- 첫 번째 문자는 반드시 글자나 밑줄(_), 달러기호($)중 하나이다.
- 두 번째 문자부터는 글자, 밑줄, 달러, 숫자 중에서 자유롭게 쓸 수 있다.
- camelCase 방식 사용하기
- snake_case 표현법도 있지만 잘 사용하지 않음.(변수이름에는 -는 사용할 수 없다.)
- var : ES6 이전 버전에서 사용, 지금은 사용하지 않는다.
*var를 사용하지 않는 이유
- var 호이스팅 (어디에 선언했는지에 상관없이 항상 제일 위로 선언을 끌어올려주는 것)
- block scope 무시. 블록 안에 변수가 있음에도 불구하고 어디서나 접근 가능.
- let : 변수 선언 후 값 변경 가능(Mutable Data Type)
- const : 변수 선언 후 값 변경 불가능(Immutable Data Type) - 보안이 향상되고 개발자의 실수는 줄어든다. 어떤 함수나 변수, 혹은 객체가 여러 thread로 부터 동시에 접근이 이루어져도 실행에 문제가 없다.
ES6에서 템플릿은 문자열안에 backticks(백틱) 사용, ${}로 변수를 넣을 수 있다.
Block Scope vs. Globe Scope
- Block Scope: 블럭(괄호)안에서 변수를 선언한 경우 블럭 박에서는 변수에 접근할 수 없다.
- Globe Scope: 어느곳에서나 접근 가능하다. 메모리에 영향을 미치기 때문에 가능하면 지역변수를 사용하는 것이 좋다.