멋사/TIL

230724 15주 1일차 TIL. JavaScript, 변수, hoisting, 연산자

yeooniyeoon 2023. 7. 24. 23:20
728x90
SMALL

JavaScript

자바스크립트는 웹 브라우저에서 해석하여 웹 브라우저가 로드한 HTML 문서를 조작하고

사용자의 행동에 따라 UI의 변화를 일으킬 목적으로 만들어진 프로그래밍 언어이다.

사전에 기계어로 번역되지 않고 필요한 순간 브라우저로 인해 해석되는 스크립트 언어이다.

 

JavaScript 변수

자바스크립트는 자료형이 존재하지만 변수 선언 시에는 자료형을 지정하지 않는다.

대신 변수 선언 방법은 다양하다.

 

let

let foo = 'a let variable'
foo = 'let variables can be reallocated'

java의 평범한 변수와 유사.

let으로 선언한 변수는 재할당이 가능하다.

다른 타입으로도 재할당이 가능하나 권장되진 않는다.

 

const

const bar = 'a const variable'
bar = 'const variable cannot be reallocated'
const PI = Math.PI

java의 final과 비슷한 역할로 상수 선언시에도 많이 활용된다.

불변하는 변수로 재할당이 불가하다.

 

var

var baz = 'a var variable'
baz = 'var can be reallocated to'

var는 let 이전에 사용되던 변수 선언 방식으로 호이스팅이라는 특징 떄문에 사용이 권장되지 않는다.

재할당이 가능하다.

 

 

호이스팅 hoisting

consol.log(hoisted)	//undefined
var hoisted = 'hoisted variable'

선언 이전에 변수를 참조할 수 있는 현상으로

아래쪽에 선언된 변수를 코드 최상단에서 우선 참조하도록 코드가 변경되어

실제 값이 할당되기 전에 참조가 가능해지는 것이다.

JavaScript에서 선언된 var 변수는 실행되기 전에 전부 코드 최상단에서 undefined로 초기화된다.

 

 

일치 연산자 & 동등 연산자

일치 연산자는 === 로 표현한다.

두 변수의 타입과 값이 모두 일치해야 true를 반환한다.

const a = 1
const b = '1'
console.log(a === b)	// false
console.log(a === Number(b))	// true

 

동등 연산자는 == 로 표현한다.

값 비교 시 암묵적 형변환이 일어나며 결과를 예측하기 어렵기 때문에 권장되지 않는다.

const a = 1
const b = '1'
console.log(a == b)	//true
console.log(a == true)	// true

 

 

 

 

 

728x90
반응형
SMALL