본문 바로가기

Javascript

[JavaScript] 시작하면서

식별자 

  • 대소문자 구분함
  • '예약어', '공백문자' 사용불가
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