'웹 프로그래밍 > Javascript' 카테고리의 다른 글

[JS] call by value, call by reference  (0) 2020.02.12
[JS] 팩토리 패턴 & 프로토타입  (0) 2020.02.12
[JS] 참조  (0) 2020.02.12
[JS] 클로저  (0) 2020.02.08
[JS] 정적 스코핑 (렉시컬 스코핑)  (0) 2020.02.08
[JS] 스코프  (0) 2020.02.08

자바스크립트에서는 call by reference 가 존재하지 않는다.






객체 속성 수정 시에는 참조이지만, 


객체 자체를 수정할 시에는 참조 관계가 깨진다.


'웹 프로그래밍 > Javascript' 카테고리의 다른 글

[JS] 생성자와 new  (0) 2020.02.12
[JS] 팩토리 패턴 & 프로토타입  (0) 2020.02.12
[JS] 참조  (0) 2020.02.12
[JS] 클로저  (0) 2020.02.08
[JS] 정적 스코핑 (렉시컬 스코핑)  (0) 2020.02.08
[JS] 스코프  (0) 2020.02.08

프로토타입 이란 ?    객체들 간의 공유된 속성  





그렇다면, 프로토타입을 왜 쓰는걸까 ? 


정답: 코드의 중복 작성을 막기위해 





위쪽의 코드에서 카드.__proto__ = 프로토타입은 .. 앞서 배웠던 '참조' 관계가 된다. 


이를 이용해 한번에 속성들을 바꿀 수 있게되는것이다.







그러나, 공식문서 JS 표준에서는 __proto__ 쓰는것을 권장하지 않음 . (실무에서는 쓰면 안됨)


>> Object.create() 속성을 이용해서 프로토타입을 추가하자.






정리







'웹 프로그래밍 > Javascript' 카테고리의 다른 글

[JS] 생성자와 new  (0) 2020.02.12
[JS] call by value, call by reference  (0) 2020.02.12
[JS] 참조  (0) 2020.02.12
[JS] 클로저  (0) 2020.02.08
[JS] 정적 스코핑 (렉시컬 스코핑)  (0) 2020.02.08
[JS] 스코프  (0) 2020.02.08

1. 숫자, 문자, bool은 대입해도 참조관계가 아니다. (복사가 된다)





2. 객체 (일반객체, 배열, 함수) : 객체는 대입하면 참조관계가 된다.


(객체)


(배열)


(함수)




3. 참조를 피하기 위한 복사예시 (forEach 사용)




4. 참조된 경우, true라는 결과도출 




5. forEach를 쓰는것은 사실은 불완전한 복사 




왜? 불완전한 복사일까 ?




6. 복사방법 총 정리








'웹 프로그래밍 > Javascript' 카테고리의 다른 글

[JS] 생성자와 new  (0) 2020.02.12
[JS] call by value, call by reference  (0) 2020.02.12
[JS] 팩토리 패턴 & 프로토타입  (0) 2020.02.12
[JS] 클로저  (0) 2020.02.08
[JS] 정적 스코핑 (렉시컬 스코핑)  (0) 2020.02.08
[JS] 스코프  (0) 2020.02.08

함수와 함수가 접근할 수 있는 스코프일때, 클로저 관계를 맺는다.

 

 

 

 

 

 

 

 

 

▶ 해결 방법1. 새로운 함수 스코프로 해결하기

 

 

 

 

 

▶ 해결 방법2. 블록 스코프(let)로 해결하기

 

'웹 프로그래밍 > Javascript' 카테고리의 다른 글

[JS] 생성자와 new  (0) 2020.02.12
[JS] call by value, call by reference  (0) 2020.02.12
[JS] 팩토리 패턴 & 프로토타입  (0) 2020.02.12
[JS] 참조  (0) 2020.02.12
[JS] 정적 스코핑 (렉시컬 스코핑)  (0) 2020.02.08
[JS] 스코프  (0) 2020.02.08













- 코드가 적힌 순간 스코프가 정해진다. 이것을 렉시컬(정적) 스코프 라고함.

- function 선언도 스코프 적용을 받는다. 




'웹 프로그래밍 > Javascript' 카테고리의 다른 글

[JS] 생성자와 new  (0) 2020.02.12
[JS] call by value, call by reference  (0) 2020.02.12
[JS] 팩토리 패턴 & 프로토타입  (0) 2020.02.12
[JS] 참조  (0) 2020.02.12
[JS] 클로저  (0) 2020.02.08
[JS] 스코프  (0) 2020.02.08











- var(변수)은 function을 벗어나서 쓰일 수 없다.

- function의 매개변수 역시 var취급 

'웹 프로그래밍 > Javascript' 카테고리의 다른 글

[JS] 생성자와 new  (0) 2020.02.12
[JS] call by value, call by reference  (0) 2020.02.12
[JS] 팩토리 패턴 & 프로토타입  (0) 2020.02.12
[JS] 참조  (0) 2020.02.12
[JS] 클로저  (0) 2020.02.08
[JS] 정적 스코핑 (렉시컬 스코핑)  (0) 2020.02.08