JavaScript
Statement
- 하나 혹은 여러 개의 표현식이 모여 문장을 이룹니다.
- 모든 표현식은 문장이 될 수 있습니다.
- (보통) 문장의 끝에는 세미 콜론을 붙입니다.
- 한 줄에 여러 문장을 적을 경우, 세미콜론으로 문장을 구분해야 한다.
- 마지막 문장은 세미 콜론을 붙이지 않아도 문제가 없다.
- 마지막 문장의 결과가 반환된다.
- 조건문 (if), 반복문 (for) 도 문장입니다.
- 이 경우에는 마지막 } 뒤에 세미콜론을 붙이지 않습니다.
- 문장들이 모여 만들고자 하는 프로그램이 된다.
변수의 유효 범위(scope of variables)
- {} 안에서만 유효하다
→결과// 블럭 { // const name = 'Mark'; console.log(name); }
{}밖에서는 name을 인식 못한다.
→결과// 블럭 { // const name = 'Mark'; console.log(name); } //console.log(name); //밖에서 안으로 let age = 37; { age++; console.log(age); } console.log(age);
- var의 유효 범위(함수 스코프)
- function() {} 함수
→결과// var 함수 스코프 var a = 0; (function(){ a++; console.log(a); })(); console.log(a); (function(){ var b = 0; console.log(b); }) b++; console.log(b);
- var는 함수스코프이기 때문에 {}은 있으나 없으나 상관없어서 정상적으로 출력이 된다
→결과//블록 스코프 var c = 0; { c++; console.log(c); } { var d = 0; console.log(d); } console.log(d);
- {} 안에서만 유효하다
자료형
변수가 가지는 고정 타입이 없다. 하지만 타입이 없는 것은 아니다
데이터 타입
- 기본 타입(Primitive values)
- Boolean
- Null
- Undefined
- Number
- String
- Symbol(ECMAScript 6에 추가됨)
- 객체(Objects)
// Boolean const isTrue = true; const isFalse = false; console.log(isTrue, typeof isTrue); console.log(isFalse, typeof isFalse); const a = new Boolean(false); console.log(a, typeof a); if(a) { console.log('false?'); } const b = Boolean(false); console.log(b, typeof b); if(b){ console.log('false?'); }
→결과
// Null const a = null; console.log(a, typeof a); // Undefined let b; console.log(b, typeof b); b = undefined; console.log(b); //null과 undefined는 비교하면 같다고 나옴 if(a == b){ console.log(a == b); } //===으로 비교하면 타입까지 비교함 false라서 if문 실행 안됨 if(a === b){ console.log(a === b); }
→결과
// Number const a = 37; console.log(a, typeof a); const b = 96.7; console.log(b, typeof b); const c = NaN; // NaN은 숫자가 아닌 Number형이라는 말이다. console.log(c, typeof c); const d = Number('Mark'); console.log(d, typeof d); const e = Number('37'); console.log(e, typeof e);
→결과
// String const a = 'Mark'; console.log(a, typeof a); const b = "Mark" + ' Lee'; const c = a + ' Lee'; console.log(c, typeof c); const d = `$ Lee`;//백틱 console.log(d, typeof d);
→결과
const a = Symbol(); const b = Symbol(37); const c = Symbol('Mark'); const d = Symbol('Mark'); console.log(a, typeof a); console.log(c === d); //같은 인자를 넣어도 다른 심볼로 인식됨. 심볼은 고유한 것이다. new Symbol();// 심볼은 생성자로 만들어 질수가 없다
→결과
- 기본 타입(Primitive values)
'공부내용정리 > JavaScript' 카테고리의 다른 글
JavaScript 반복문 (0) | 2021.03.28 |
---|---|
JavaScript 조건문 (0) | 2021.03.28 |
자바스크립트 출력 (0) | 2021.03.12 |
자바스크립트의 위치 (0) | 2021.03.12 |
자바스크립트 getElementById() (0) | 2021.03.12 |