생성자
함수 객체 → 다른 객체 생산
new 연산자 : 메모리에 공간을 생성 연산자
생성자 함수명
첫 시작 문자 대문자
객체가 생성되는 과정
- 함수 객체에 정의된 prototype 객체의 상속
- this 값을 상속을 받은 객체로 변경함으로써 초기화
function …
new Funtion(()
apply(thisArg, …)
call(thisArg, …)
생성자 함수 객체의 상속
연산자
instanceof : 객체의 출철르 체크 (프로토타입 체인)
3/27 마지막 시간 앞에 3분 영상 못 찍으심! 그게 저 위에 사진이당!
자바스크립트 객체 위에 부분은 전 페이지에 밑에 생성자 부분과 겹침 왔다 갔다 하기 귀찮아서 그냥 위에 복붙해서 이어서 공부함 정리할 땐 알아서 하기~~
<지금까지 정리>
생성자 함수 객체
- 객체 → 객체를 생산하는 객체
- prototype 객체 : 생성자 함수로 역할 할 수 있다.
- → 필수 : 객체를 생성하는 과정은 생성자 함수 객체의 prototype 객체의 상속 과정이므로
new 생성자함수();
- prototype 객체의 상속
상속을 왜 할까?
생성자함수 .prototype에 정의된 자원 공유
- 자원 : 속성, 함수
- 객체가 생성이 되면 공유를 위한 자원 연결
- this 값 → 현재 생성될 객체의 주소 → 생성자 함수 호출 → 초기화
</지금까지 정리>
자바스크립트 객체
코어 객체
- 내장 생성자 함수 객체
- 내장 객체JSON
- Math - 수학 관련 편의 메서드가 있는 객체
호스트 객체 : 실행 환경에 따라서 추가된 객체
- 웹브라우저 객체 - 웹브라우저의 기능과 관련된 객체location 객체 - 브라우저의 주소와 관련된 기능, 정보screen 객체document 객체 - 웹 문서를 다루는 객체
- navigator 객체
- histoty 객체 - 브라우저의 방문 기록과 기능
- window
원시 타입, 원시 값 - 재료가 되는 값
숫자
문자
논리값 - true, false
undefined
null
내장 생성자
- 자바스크립트에 처음부터 포함된 내장 생성자
- Object
= {…};
- const 변수명 = new Object();
prototype
.toLocaleString()
Locale : 지역화
- 지역화에 맞게 변경 → 출력
Object.getOwnPropertyDescriptor()
Object.getOwnPropertyDescriptors()
데이터 프로퍼티
value - 값
writable : false → 값 변경 X
enumerable : false → 열거 불가
configurable : false → 설정 변경 불가, 삭제 불가
false로 되어 있어도 예외 있다.
→ writable이 true → 단 한번만 false로 변경 가능
→ 변경
Object.defineProperty
.defineProperties
접근자 프로퍼티
- 함수 형태 : 단축 표현법
- set 함수명 - 값을 변경하는 접근자 속성
- get 함수명 - 값을 조회하는 접근자 속성
- enumerable
- configurable
참고)
속성: 통제 기능 포함
Object.preventExtensions() : 객체의 새로운 속성 추가 불가
Object.seal(…) : 객체 밀봉
- 삭제 불가, 속성 추가 불가
- 값 변경 가능
Object.freeze(…) : 객체 동결
- 삭제 불가, 속성 추가 불가
- 값 변경 불가
전개 연산자 … : 깊은 복사 가능
참고 )
entries : 이름 - 값 쌍 조회
Map.Entry : 이름 - 값의 쌍
- StringIndexOf(…) : 문자열의 위치 번호(0부터 시작 - 좌 → 우)
- lastIndexOF: 문자열 위치번호(우 → 좌) / 문자열을 찾지 못하면 -1을 반환
- wrapper 생성자 객체
- NumberNaN : Not a Number - 숫자가 아니다→ Number(값) → NaN 반환 → true, NaN X → falsetypeof num1 === ‘number’ : 숫자 판별 가능parseFloat(…) : 문자열 → 실수로 변환float → 실수 - 소수점이 있는 수 1.123
- parse → 변환(변경)
- int → 정수 - 소수점이 없는 수, 0, 1, 10, -1, -2
- parseInt(…) : 문자열, 실수 → 정수로 변환
- Number → 함수 그대로 사용 : 문자열 → 숫자 변환
- isNan(…) : 숫자가 아니면 true, 숫자이면 false
- wrapper 생성자 객체
- Boolean
- 함수처럼 사용했을 경우 : 값에 대한 평가 → 실제 논리값(true, false)로 설정
- Array
→배열 X참고) 배열같은 자료형이 연속해서 나열된 형태= […]; = Array.prototype
- → 배열객체
- const 변수명 = new Array(…)
- Date
- 날짜와 시간
- 년도 - getFullyTter() / setFullYear(…)
- 월 - getMonth() / 0~11 , 0 - 1월, 11 - 12월 / setMonth(…)
- 일 - getDate() / setDate(…)
- 요일 - getDay() 06 / 0 - 일, 6 - 토
- 시간 - getHours() / setHours(…)
- 분 - getMinues() / setMinutes(…)
- 초 - getrSeconds() / setSeconds(…)
- getTime() : - 1970.1.1 자정 → 1000분 1초 단위로 카운트 수치 → Epoch Time → 초단위 → TimestampDate.now() : 현재 시간에 Epoch Time2024-03-29T15:00:00 → ISO
- 이번달이 몇일로 끝나는지
- 다음달 1일 - 1일 차감 → 현재 달의 마지막 날짜
- 이번달 1일이 몇 요일에 시작하는지
- getDay(): 0~6 → 5
- 이번달이 몇일로 끝나는지
- 달력
- Date.parse(문자열 날짜) : 문자열 날짜 → Data 객체로 변환
- → 예) 유일한 값으로 ID를 만들 때 → UID
- Functionapplybind
- call
- prototype
- RegExp : 정규표현식
- Error} catch (e) {
- }
- try {
함수 객체
Function 생성자 함수 객체 → 생성
Function.prototype
apply
calll
bind
ES6부터 추가된 주요 내장 생성자
- Symbol
- Promise - 리액트 진행 시 설명
자바 진행 시 설명 - 콜렉션 프레임워크
- Map
- Set
기타 내장 객체
JSON
JSON(JavaScript Object Notaion) - 자바스크립트 객체 표기법 - 문자열
{
“이름” : “값”,
“이름” : “값”,
…
}
.parse(…) : JSON 문자열 → 자바스크립트 객체 변환
.stringify(…) : 자바스크립트 객체 → JSON 문자열로 변환 / 직렬화
JSON 쓰는 이유
JSON - 경량데이터
문자열 데이터
모든 플렛폼에 통일된 걸 보내기 위해서
보통 이 데이터를 문자열 데이터로 보낸다. 이미 표준화된 데이터 형식이니까 좋다!
자바 스크립트는 자바 스트립트가 파이썬은 파이썬이 이해하는 언어로 알아서 바꿔 쓰겠지?
다 호환되려면 통일된 데이터 형식인 JSON으로 쓴다. 그래서 자바스키립트 표현 방식을 빌려서 써온다.
MATH
- 수학 관련 편의 함수, 상수
- PI : 원주율
- round(…) : 반올림
- floor(…) : 버림
- ceil(…) : 올림
- abs(…) : 절대값
- sqrt(…) : 제곱근
전역 객체
- 전역 프로퍼티
- undefined, NaN, Infinity
- 생성자 Object(), String(), Number() 등
- 전역 함수 parseInt(), parseFloat(), isNaN() 등
- 내장 객체 Math, JSON, Reflect
'Languages > JavaScript' 카테고리의 다른 글
4. 배열 (0) | 2024.04.06 |
---|---|
2-1. 객체 리터럴, 함수, 메서드, 생성자 (0) | 2024.03.30 |
1-2. 제어문, 조건문, 반복문(javascript) (0) | 2024.03.24 |
1-1. 실습방법, 주석, 변수, 연산자(javascript) (3) | 2024.03.23 |