SIU
article thumbnail
[#2 JavaScript] 엄격한 비교 연산자에서 변수와 객체 차이
개발 언어/JavaScript 2023. 1. 9. 04:23

자바스크립트의 느슨한 비교 연산자( Loose Equality ) 문제점 느슨한 동등 비교 연산자(==)와 엄격한 동등 비교 연산자(===)은 두 개의 피연산자에 대한 비교 연산을 수행합니다. ===의 동등 비교에서는 비교하려는 두 피연산자의 자료형이 일치하지 않더라도 형변환(Type Coercion)이 수행되지 않습니다. 엄격한 동등 비교 연산자(===)는 두 피연산자의 자료형과 값이 모두 일치할 때만 true를, 그렇지 않다면 false를 반환한합니다. 반면, 서로 다른 자료형을 가지는 두 피연산자를 느슨한 동등 비교 연산자(==)로 비교하면, JS 엔진은 양 측의 두 변수를 공통된 자료형으로 강제 형변환합니다. 이후 엄격한 비교 연산자(===)를 수행하는 방식으로 ==는 동작합니다. 따라서 느슨한 ..

[#01 JavaScript] var를 사용하지 않는 이유
개발 언어/JavaScript 2023. 1. 5. 05:17

자바스크립트의 변수 선언 키워드 : var, let, const 가 존재합니다. var는 ES6 이전에 사용됐고, 변수를 만들 떄 변수명 앞에 붙혀서 변수를 만들어줍니다. 그런데 현재 var는 현재 거의 사용하지 않습니다. var num = 12345 console.log(num) // 12345 var num = 545 console.log(num) // 545 num이 중복으로 사용이 됐는데 Error(오류)가 발생하지 않는다. 만약 큰 프로젝트에서 변수명을 똑같이 써도 Error가 발생하지 않아서 로직 상의 Error가 생겨도 찾기 힘들 것이다. 이러한 현상이 나타나는 이유는 Hoisting(호이스팅) 때문이다. 호이스팅? Hoisting은 var를 사용해서 변수 선언 했을 때 해당 변수의 선언부를..