반응형
# 자바스크립트 학습
# 오브젝트(Object)
## 프로퍼티 (Property)
- 프로퍼티의 형태
{name: value} // 이름: 값
- name에 프로퍼티의 이름(키)를 작성하며, 따옴표 작성은 생략 가능하다.
var book = {
title: "책",
point: 123
};
// 따옴표 작성 생략의 경우, 자바스크립트가 따옴표를 작성하지 않아도 문자열로 간주하기 때문
- value에 자바스크립트에서 지원하는 타입을 작성한다.
{a: 123, b: "ABC", c: true, d: {}}
{book: function(){코드}}
var book = {
title: "책",
point: {
ten: 10,
bonus: 200,
promotion: function(){}
}
};
- 오브젝트(Object)를 객체라고 부르기도 하지만, 여기서 오브젝트는 프로퍼티라는 실체가 있는 것을 의미.
## 프로퍼티의 추가, 변경
- 오브젝트에 프로퍼티 추가, 변경
var obj = {};
obj.abc = 123;
obj 오브젝트에 프로퍼티 이름으로 abc가 없으면 abc:123이 추가되고,
abc가 있다면 프로퍼티 값이 123으로 변경된다.
- 작성방법
1. 점과 프로퍼티 이름 사용
var book = {};
book.title = "JS책";
log(book);
=>
{title: JS책}
2. 대괄호 사용
var book ={};
book["title"] = "JS책";
log(book);
=>
{title: JS책}
3. 변수 이름 사용
var book = {title: "JS책"};
var varName = "title";
book[varName] = "HTML책";
log(book);
=>
{title: HTML책}
## Object 프로퍼티 값 추출
- 오브젝트에서 프로퍼티 값 추출
var obj = {book: "책"} // 일떄..
var value = obj.book; // obj.book 시 value 에 "책"이 할당된다.
// 만약 obj에 book 없을 경우 value에 undefined를 반환한다.
var obj = {book: "책"};
log(obj.book);
log(obj["sports"]);
=>
책
undefined
sports라는 프로퍼티 이름이 없으므로 undefined 반환
## for ~ in
- 오브젝트에서 프로퍼티를 열거한다. (처음부터 끝까지 모두 읽음)
var sports = {
soccer : "축구".
baseball : "야구"
};
for (var item in sports) {
log(item);
log(sports[item]);
};
=>
soccer
축구
baseball
야구
# 빌트인(Built-in)
- 값 타입, 연산자, 오브젝트를 자바스크립트 코드를 처리하는 영역에 사전에 만들어 놓은 것.
- 사전 처리하지 않고 즉시 사용 가능하다.
- 빌트인 값 타입 : Undefined, Null, Boolean, Number, String, Object
- 빌트인 연산자(Opeartor) : +, -, *, /, %, ++, --, new 등
## 빌트인 오브젝트
- 빌트인 오브젝트의 형태
빌트인 Number 오브젝트 (object)
=>
123과 같은 숫자, 상수, 지수를 처리하기 위한 오브젝트
(오직 Number를 위한 프로퍼티와 함수가 있다.)
빌트인 String 오브젝트 (object)
=>
오직 string을 위한 프로퍼티와 함수가 있다.
...
- 대문자 Object는 키-값으로 데이터를 저장하는데 중점, 소문자 object는 데이터를 처리하는데 중점을 둔 것
## 빌트인 오브젝트의 유형
- Number 오브젝트 : 123과 같이 숫자, 상수, 지수를 처리하기 위한 오브젝트
- String 오브젝트 : "abc"와 같이 문자열을 처리하기 위한 오브젝트로, 문자열을 분리, 연결할 수 있다.
- Boolean 오브젝트 : 단지 true, false를 처리하기 위한 오브젝트
- Object 오브젝트 : {key: value} 형태로 프로퍼티를 처리하기 위한 오브젝트
- Array 오브젝트 : [1, 2, "가나다"] 형태의 데이터를 처리하기 위한 오브젝트
- Function 오브젝트 : function abc() {} 형태의 함수를 지원하기 위한 오브젝트
- Math 오브젝트 : abs(), round() 등의 수학 계산용 함수를 지원하는 오브젝트
- Date 오브젝트 : 연월일, 시분초, 밀리초 등의 시간 값을 구하고 설정할 수 있는 오브젝트
- JSON 오브젝트 : 서버와 통신하는 데이터 형태를 지원하는 오브젝트
[{"key": "value"}] 형태
- RegExp 오브젝트 : ^, $와 같은 정규 표현식을 지원하는 오브젝트
- 글로벌(Global) 오브젝트 : 소스 파일 전체에서 하나만 존재, 모든 코드에서 공유 및 접근이 가능하다.
## 빌트인 Number 오브젝트
- 숫자 처리를 위한 오브젝트
- 숫자 처리를 위한 함수와 프로퍼티가 포함되어 있고, 함수를 호출하여 숫자 처리를 하게 되고, 프로퍼티 키로 값을 구하게 된다.
## 빌트인 오브젝트의 프로퍼티 리스트
- 프로퍼티 리스트의 경우 전체적으로 보고 파악하는 것이 중요, 그 후 개별적으로 접근
new Number() : 인스턴스 생성
Number 함수
Number() : 숫자 값으로 변환하여 반환
Number prototype
constructor : 생성자
toString() : 숫자 값을 문자열로 변환
toLocaleString(): 숫자 값을 지역화 문자로 변환
valueOf() : 프리미티브 값 반환
toExponential() : 지수 표기로 변환
toFixed() : 고정 소숫점 표기로 변환
toPrecision() : 고정 소숫점 또는 지수 표기로 변환
## Number() // Number 함수
- 파라미터 : 소괄호() 안에 작성하는 것으로, 변환할 값opt (선택 입력사항)
- 반환 : 함수가 실행 된 후, 함수에서 반환한 값(변환 한 값)
- 파라미터 값을 Number 타입으로 변환한다.
- 파라미터 값이 String 타입이라도 값이 숫자이면 변환 가능하다.
1. 문자열을 숫자로 변환
log(Number("123") + 500);
log(Number("ABC")); // 숫자로 변환 불가능 하므로 Not A Number 반환
=>
623
NaN // 변환을 했는데 결괏값이 NaN인 경우, 변환 하려고 했는데 파라미터 값이 NaN인 경우.
log(Number(0x14));
log(Number(true));
log(Number(null));
log(Number(undefined));
=>
20 // 0x는 16진수*1+4 = 20
1
0
NaN // 숫자로 변환할 수 없거나, 변환 했는데 그 결과가 Number 아닌 경우
## Number 상수
- 상수는 값을 변경, 삭제할 수 없다.
- 영문 대문자 사용이 관례이다.
- Number.MAX_VALUE 형태로 값을 사용한다.
상수 이름 | 값 |
Number.MAX_VALUE | 1.7976931348623157 * 10 (308승) |
Number.MIN_VALUE | 5 * 10(-324승) |
Number.NaN | Not-a-Number |
Number.POSITIVE_INFINITY | Infinity |
Number.NEGATIVE_INFINITY | -Infinity |
반응형
'인프런 강의 학습 > 자바스크립트 비기너' 카테고리의 다른 글
자바스크립트 학습 12일차 (0) | 2020.12.15 |
---|---|
자바스크립트 학습 11일차 (0) | 2020.12.14 |
자바스크립트 학습 9일차 (0) | 2020.12.13 |
자바스크립트 학습 8일차 (0) | 2020.12.11 |
자바스크립트 학습 7일차 (0) | 2020.12.10 |