JavaScript33 JavaScript, 불변성과 불변객체를 만드는 방법 불변성이란? - 자바스크립트에서 불변성(Immutability)이란 데이터는 한번 생성되고나면 그 뒤에는 변할수 없다는 것을 의미한다. - 기본(원시)형 데이터는 불변 데이터로 불리는데, 이는 컴퓨터 내 메모리 영역 내에서 값이 변하지 않는다는 것을 의미한다. - 변수에 값을 할당할 때 완전히 새로운 값이 만들어져 할당된다. 불변 객체를 만드는 방법 Object.freeze() - 자바스크립트의 내장 메소드인 Object.freeze() 는 객체를 동결하기 위한, 즉 값을 변경하지 못하게 만드는 메소드이다. const immu = { data : 'immutable data' } Object.freeze(immu) immu.data = 'make it mutable' console.log(immu.dat.. 2022. 11. 18. JavaScript, 기본형 데이터와 참조형 데이터 - 자바스크립트의 타입에는 크게 기본(원시)형 데이터와 참조형 데이터가 있다. 기본형 데이터 - 기본형 자료형은 값을 그대로 할당한다. - 기본형 데이터는 Number, String, Boolean, null, undefined , Symbol 이 있다. - 기본형 데이터는 컴퓨터의 메모리 영역에서 변경이 불가능하지만, 재할당은 가능하다. - 값이 변수에 할당될 대 컴퓨터는 메모리의 고정 크기로 원시 값을 저장하고 해당 저장된 값을 변수가 직접 가리킨다. - 재할당을 할 시 기존 값이 변하는게 아니라 새로운 메모리에 재할당한 값이 저장되고 변수가 가리키는 메모리가 달라진다. - 코드를 통해 이해하보자. let a = 1 let b = 2 a = b b = 1 console.log(a) // 2 → 2 -.. 2022. 11. 18. JavaScript, == 와 ===의 차이, undefined 와 null의 차이 일치 연산자 == 와 === - 둘 다 두 값을 비교하는 일치 연산자지만, 큰 차이가 있다. console.log(1 == "1") console.log(1 === "1") → true false - 일치연산자를 사용해 숫자 1과 숫자로 된 문자열 "1" 을 비교했다. - == 을 사용한 결과는 true, ===을 사용한 결과는 false인데, 그 이유는 ==은 두 자료의 자료형이 다르면 강제 형변환을 해서 비교 연산 전의 같은 자료형으로 바꾼 뒤 연산을 수행하기 때문에 true 가 나온 것이고, === 은 두 자료형의 자료형 type 과 값을 비교해 연산을 수행해 false 나온 것이다. - undefined 와 null 모두 값이 없다는 상태를 나타낸다. - 두 값을 비교해보자 const nullDa.. 2022. 11. 18. JavaScript 형변환 JavaScript 형변환(casting) 문자 자료형을 숫자 자료형으로 변환하는 parseInt, Number - pareseInt 와 Number 는 형변환을 해주는 메소드로, 숫자로 이루어진 문자열을 숫자 자료형으로 변환해 반환하는 역할을 한다. - 문자자료형을 숫자 자료형으로 변환하는 방법은 두가지가 있다. parseInt('문자열') Number('문자열') - 숫자로 이루어진 문자열을 숫자 자료형으로 변환해보자. const strNumber = '1' const strNumberParseInt = parseInt(strNumber) const strNumberNumber = Number(strNumber) console.log(typeof strNumberParseInt) // number c.. 2022. 11. 18. 이전 1 2 3 4 5 6 7 8 9 다음 반응형