변수(Variable)
let myName = ' abc ';
// **세미콜론(;)은 문(statement)의 끝**을 의미
// 세미콜론은 Optional 이지만 분리 구분을 위해 넣어주면 좋다.
// 단, 넣어야할 때와 넣지 말아야할 때도 존재한다
// [**Semicolon Guide 사이트 참조**]
//(https://news.codecademy.com/your-guide-to-semicolons-in-javascript/)
const 선언과 let 선언의 차이는?
이 둘은 모두 유효범위는 Block Scope 입니다.
var 선언과 let 선언의 차이는?
var : 함수 단위로 자신만의 scope를 가진다.
let : block 단위로 예측하기 쉬운 코드
자바스크립트가 첫 탄생 했을 땐 var 선언 뿐이었는데 var 는 변수명이 똑같더라도 내가 원하는 만큼 값을 넣을 수 있어서 혼돈을 주다보니, 그런 혼돈을 없애주기 위해 나타난 것이 let 이다.
유효범위는 Function Scope
★ var,const,let 는 꼭 넣고 선언해야한다.
★ 'use strict'; - 파일 최상단에 적어주면 문법적 실수가 있는 부분을 에러로 판단합니다.
변수는 꼭 써야하는가?
- 코드의 재활용성을 높여준다.
- 코드 수정의 범위가 축소된다. 변할 수 있는 부분을 최소화시켜서 오류 발생을 줄일 수 있다.
변수에 할당된 값이 없으면 무엇을 표시할까?
let A;
> undefined // A에 값이 정의 되지 않았다는 것
표현식(expression) : 변수를 이용헤 연산 등을 할 수 있는 식
let a = 3;
let b = 5;
let sum = a + b; // expression
타입(Type)
1) 기본 자료형(Primitive) - immutable value(변경불가값)
String : 인용부호( ' ' )로 둘러싼 문자열(=텍스트)
Number : 숫자
Boolean : 참( true
) / 거짓 ( false
)
null : null
이란 값을 가진 타입. 의도적으로 비어있거나 없는 것
undefined : 변수에 값이 할당되지 않은 경우
let sampleVar = 'Bob'; // String
let sampleVar = 10; // Number
let sampleVar = true; // Boolean
let sampleVar = null; // null
let sampleVar; // underfined
null과 undefined 의 차이는 무엇일까?
null
은 변수값으로서 의도적으로 비워둔 하나의 값이고
undefined
는 아예 어떠한 값도 넣지 않았음을 의미한다.
null
은 초기화할 때도 사용할 수 있다.
let a = null; // a 에 null 이란 값이 할당됨
let a; // a에 어떠한 값도 할당되지 않음, 즉 undefined 상태
2) 객체(Object) - mutable 기본 자료형이 아닌 변경 가능한 모든 값
Array : 순서가 있는 집합처럼 표현된 자료형 타입
여러 값을 하나의 단일 참조(single reference)에 저장
object : 속성을 담고 있는 가방 = 타입이 섞인(compund) 자료형 타입(★)
Dates : 시간을 나타내는 타입
function : 함수-재사용하기를 원하는 기능을 담는 곳
보통 '()'를 함께 가져가는 형태다.
let sampleVar = [ 1, 'bob', 'name', 2] ; // Array
let sampleVar = document.querySelector('h1'); // Object
참조사이트 : Categorizing values in JavaScript
typeof 연산자
변수의 타입을 알 수 있게 도와주는 연산자
typeof Underfined // underfiend
typeof null // object
typeof true // boolean
typeof 12 // number
typeof 'mark' // string
typeof function() {} // function
만약 null 의 타입을 조사했을 때, null 로 받고 싶다면?
let a = null;
a; // typeof를 붙이면 object를 내보낸다
> null
그 외 참조 사이트