JavaScript에서 기본 유형과 객체의 주요 차이점은 무엇입니까?
먼저 기본 유형이 무엇인지 정의 해 봅시다.
JavaScript의 기본 유형은
null은 특수한 기본 유형입니다. typeof null을 실행하면 '개체'가 다시 표시되지만 실제로는 기본 유형입니다.
기본 유형이 아닌 모든 것은 객체입니다.
함수도 객체입니다. 함수에 속성과 메소드를 설정할 수 있습니다. typeof는 'function'을 반환하지만 Function 생성자는 Object 생성자에서 파생됩니다.
기본 유형과 객체의 큰 차이점은
이런 식으로 기본 유형을 복사하는 경우 :
let name = 'Flavio'
let secondName = name
이제 이름 변수에 새 값을 할당하여 변경할 수 있지만 secondName은 값으로 복사되었으므로 여전히 이전 값을 보유합니다.
name = 'Roger'
secondName //'Flavio'
우리가 물건을 가지고 있다면 :
let car = {
color: 'yellow'
}
그리고 다른 변수에 복사합니다 :
let car = {
color: 'yellow'
}
let anotherCar = car
이 경우 anotherCar는 car와 동일한 객체를 가리킵니다. 설정하면
car.color = 'blue'
또한
anotherCar.color
'파란색'이 됩니다.
객체를 함수로 전달하고 비교하는 것도 마찬가지입니다.
car를 anotherCar와 비교하고 싶다고 가정 해보십시오.
anotherCar === car //true
두 변수가 정확히 같은 객체를 가리 키기 때문에 이것은 사실입니다.
그러나 anotherCar가 car와 동일한 속성을 가진 객체인 경우 이를 비교하면 잘못된 결과가 나타납니다.
let car = {
color: 'yellow'
}
let anotherCar = {
color: 'yellow'
}
anotherCar === car //false
등록된 댓글이 없습니다.