식별자
- 대소문자 구분함
- '예약어', '공백문자' 사용불가
var myName = "강혜원";
var myname = "kanghyewon;
- myName != myname (식별자)
변수와 상수 (variable and constant)
- const 상수를 _지칭하는_이름; : 상수를 선언하는 방법
- let 변수를 _지칭하는_이름; : 변수를 선언하는 방법
const sum = 5 + 10;
let result = false;
if(sum% 3 == 0) {
console.log('안녕3');
result = true;
}
if(sum % 5 == 0) {
console.log('안녕5');
result = true;
}
console.log(result);
변수의 유효범위 (scope of variable)
- var의 유효 범위 (함수 스코프)
- ES5에서는대표적인 변수로 사용되었지만
- ES6에서는 let과 const가 많이 사용됨
- function() { } :
- 함수블록 밖에서 선언된 변수는 함수 내에서 사용 가능
- 함수 내에서 선언된 변수는 함수 밖에서 사용 불가함
{
var a = 0;
console.log(a);
}
console.log(a);
- 위의 코드에서 var 대신 let이나 const를 사용했다면 에러가 났을 코드임
- 하지만 var는 변수 스코프를 무시하기 때문에 ES6부터는 잘 사용하지 않게 됨
Hoisting : 아래 있는 선언을(만) 끌어올리다
age = 6;
age++;
console.log(age);
var age;
- 선언은 아래에서 했지만 사용을 위에서 하고 있음
console.log(name); //undefined
name = 'Mark';
console.log(name); //Mark
자료형 (Data Type)
let name = 'hyewon'; //문자열
name = 37; //숫자형
name = true; //boolean형
- 동적 타이핑이라고 함
- 변수가 가지는 고정 타입이 없음 (하지만 타입이 없는 것은 아님)
//boolean
const isTrue = true;
const isFalse = false;
console.log(isTrue, typeof isTrue); //true 'boolean' 이라고 출력됨
console.log(isFalse, typeof isFalse); //false 'boolean' 이라고 출력됨
//typeof 는 타입을 확인 할 수 있음
//Null
const a = null;
console.log(a, typeof a); //null 'object' 라고 출력됨
//비어있는 값을 가지고 있다!
//undefined
let d;
console.log(b, typeof b); //undefined 'undefined'라고 출력됨
//정해져있는 값이 없다!
if(a == b) {
console.log(a == b); //true로 출력됨
// ==으로 비교했을때는 값만 비교함!!
}
if(a === b) {
console.log(a === b); //true로 출력됨
// ===으로 비교했을때는 값과 타입까지 비교함!!
}
- null == undefined (true) : 값만 비교함
- null === undefined (false) : 값과 타입까지 비교함
//Number
const a =37;
console.log(a, typeof a); //37 'number'
const c = NaN;
console.log(c, typeof c); //NaN 'number'
const d = Number('Mark');
console.log(d, typeof d); //NaN 'number'
//형 변환 실패
const e = Number('37');
console.log(e, typeod e); //37 'number'
//String
const a = 'Mark';
console.log(a, typeod a); Mark String
const d = `${a} Lee`;
console.log(d, typeod d); Mark Lee String
//symbol
const a = Symbol();
const b = Symbol(37);
const a = Symbol('Mark');
const b = Symbol('Mark');
console.log(a, typeof a); //Symbol() 'symbol'
console.log(c === d); //false
'Javascript' 카테고리의 다른 글
[JavaScript] 객체 objet (0) | 2022.04.05 |
---|---|
[JavaScript] 함수 (0) | 2022.04.05 |
[JavaScript] 반복문 (0) | 2022.04.04 |
[JavaScript] 조건문 (0) | 2022.04.04 |