[자습] 알고리즘 문제 풀기
[과제] javascript 퀴즈
[특강] CS _ OSI 7계층
🚩 학습 목표
[강의] 자바스크립트 심화
🚩 학습 목표
✅ 체크 리스트
◼️ 불변 객체로 만들기
const obj = { vaule: 1 }
const newObj = obj;
newObj.vaule = 2;
console.log(obj.vaule); // 2
console.log(obj === newObj); // true
1. 얕은 복사 (shallow copy)
2. 깊은 복사 (deep copy)
- 객체 내부의 모든 값들을 전부 복사하는 방법
JSON 객체 메서드
JSON 객체의 stringify( ), parse( ) 활용 : 이 방법은 다른 방법들에 비해 성능이 좋지 않고, JSON.stringify( ) 메서드는 함수를 만났을 때 undefined로 처리된다는 문제점이 있다.
JSON.stringify( ) : 객체를 JSON 문자열로 변환 (기본 데이터타입의 문자열 아님. { } 까지도 다 문자열로 변환된다. )
JSON.parse( ) : JSON 문자열 JavaScript 값이나 객체로 생성
console.log(JSON.stringify({ x: 5, y: 6 })); // '{"x":5,"y":6}’
const json = '{"result":true, "count":42}';
const obj = JSON.parse(json);
console.log(obj.count); // 42
console.log(obj.result); // true
console.log(obj); // { result: true, count: 42 }
재귀적 수행
둘 다 없음을 의미한다.
undefined
사용자가 지정할 수도 있으나, 자바스크립트 엔진에서 자동으로 부여하는 경우가 많다.
- 변수에 값이 지정되지 않은 경우, 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때.
- 변수나 객체 등에 . 이나 [ ] 로 접근하려 할 때, 해당 데이터가 존재하지 않는 경우
- 함수에 return문이 없거나, 호출되지 않는 함수의 실행 결과.
👉 사용자가 할당한 것인지, 자바스크립트 엔진이 반환한 것인지 구분할 수 없다.
null
값이 없다는 것을 ‘명시적’으로 표현할 때 사용한다.
👉 값이 없음을 명시적으로 표현할 땐 undefined가 아닌 null 로 사용할 것!!