Javascript(자료형-object)

2022. 11. 14. 23:18WEB개발/TIL

반응형

Javascript 자료형

기본 자료형 vs 객체 자료형

  • 기본 자료형: 다른 변수에 값을 할당하거나 함수 인자를 넘길 때 값을 복사해 전달

      = 을 가지고 있는 변수

  • 객체 자료형: 값을 복사해 전달하는 것이 아닌 메모리 주소를 복사(같은 객체를 참조)

      = 주소를 가지고 있는 변수(객체의 주소를 저장)

 

 

Object(객체/참조) 자료형

: Object 클래스 뿐 아니라 배열과 함수, 클래스 등 모두 Object에 포함

 

[  객체  ]

: 참조할 수 있는 메모리 상의 값

ex) ▼▼▼

객체: 고양이 그 자체

속성: 이름-나비, 나이-1살

메소드: mew()-울다, eat()-먹는다

var cat = {
		name: "나비",
		age: 1,
		mew: function() {
			return "야옹";
		}
};

 

#  리턴값 있는 함수와 없는 함수의 값 차이

function hello() {
	return "안녕";
}
console.log(hello());  //안녕

function hi() {
	console.log('hi');  //hi
}
console.log(hi());  //undefined

var a = hello();
console.log(a);  //안녕
  • 함수를 정의할 때 return값은 없어도 됨

      만약 return값을 사용할 경우 한 번만 사용해야 함

 

 

[  배열  ]

: 숫자형과 문자열과 마찬가지로 일반적인 스크립트와 동일

  • [ ](대괄호)나 newArray()로 생성
  • 크기의 제약이 없고, 하나의 배열에 서로 다른 타입의 변수가 들어갈 수 있음
var arr1 = [1,2,3,'a','b','c']; //[중괄호]를 사용해서 배열 생성
var arr2 = new Array(1,2,3,'a','b','c','d'); //new Array를 사용해서 배열 생성

console.log(arr1[0]); //index는 0번부터
console.log(arr1.indexOf('a')); //indexOf: index 순서를 알려주는 함수

 

index 순서 0 1 2 3 4
통상적 순서 1 2 3 4 5

 

# 배열에서 자주 사용되는 속성과 함수

1) 변수명.length: 길이(개수를 알려줌)       //index 순서X
2) 변수명.indexOf(찾을 값): 입력한 요소의 index 순서를 알려줌
3) 변수명.push(추가할 값): 맨 마지막에 요소 추가
4) 변수명.pop():맨 마지막 요소 제거
5) 변수명.unshift(추가할 값): 맨 첫 번째에 요소 추가
6) 변수명.shift(): 맨 첫 번째 요소 제거
    - shift함수는 인덱스 순서에 영향을 미침

 

 

 

[  딕셔너리  ]

  • 키(key): 값(value) 형태로 저장
  • 딕셔너리는 index의 개념이 없음, 따라서 키(key) 값을 기준으로 값(value)을 가져와야 함.
var me = {
	name: 'yeji',
	birth: '0204'
};

me.gender='F'; //.(온점)을 사용하여 객체에 속성 추가
me['age']=23; //[](대괄호)를 사용하여 객체에 속성 추가
console.log(me.name); //.(온점) 사용해서 값 가져오기
console.log(me["age"]); //[](대괄호)사용해서 값 가져오기

 

 #  배열 vs 딕셔너리 (값을 가져오는 방법)

배열 index로 값을 가져옴 ex) console.log(arr1[0]);
딕셔너리 key 으로 값을 가져옴 ex) console.log(me.name / me['name']);

 

 

 

 

Javascript 표준 내장 객체

: 자바스크립트가 기본적으로 가지고 있는 객체들

  프로그래밍을 하는데 기본적으로 필요한 도구들

ex) String, Number, Array, Date, Math..

 

[  Date 객체  ]

: 시간과 날짜에 관한 정보를 얻기 위해 사용하는 객체

// new Date();
// new Date(밀리초);
	-> new Date(8000000); //1970.01.01 0시부터 밀리초만큼 지난 날짜
// new Date(년(year), 월(month), 일(day), 시(hour), 분(minute), 초(second), 밀리초(millisecond))
	-> new Date(16,5,25); //Sun Jun(월은 0이 1월) 25 1916 00:00:00
	-> new Date(2016,5,25,15,40); //Sat Jun 25 2016 15:40:00
  • 년(year), 월(month)을 지정하지 않은 경우, 1970년 1월 1일 00:00(UTC)을 기준으로 값 반환
  • 월(month)의 경우, 0부터 시작(0이 1월임)

 

#  Date 주요 사용 함수

  • Date.now()
  • var date = new Date();
함수 내용
.getFullYear 년도를 나타내는 4자리 숫자를 반환
.getMonth 월을 나타내는 0 ~ 11의 정수를 반환(1월은 0, 12월은 11)
.getDate 날짜(1 ~ 31)를 나타내는 정수를 반환
.getDay 요일(0(일) ~ 6(토))를 나타내는 정수를 반환
.getHours 시간(0 ~ 23)를 나타내는 정수를 반환
.getMinutes 분(0 ~ 59)를 나타내는 정수를 반환
.getSeconds 초(0 ~ 59)를 나타내는 정수를 반환
.getMilliseconds 밀리초(0 ~ 999)를 나타내는 정수를 반환
.getTime 1970년 1월 1일 00:00:00(UTC)를 기점으로 현재 시간까지 경과된 밀리초를 반환
.toDateString 사람이 읽을 수 있는 형식의 문자열로 날짜를 반환 ex) console.log(date.toDateString());
var date = new Date(16,5,25);
console.log(date);
var date2 = new Date(2016,5,25,15,40); //Sun Jun(월은 0이 1월) 25 1916 00:00:00
console.log(date2); //Sat Jun 25 2016 15:40:00
var date3 = Date.now();
console.log(date3);

console.log('------------');
var date4 = new Date();
var year = date4.getFullYear();
var month = date4.getMonth();
var month2 = parseInt(month)+1;
var datee = date4.getDate();
var hour = date4.getHours();
var min = date4.getMinutes();
var sec = date4.getSeconds();
var date5 = year+"-"+month2+"-"+datee+" "+hour+":"+min+":"+sec;
console.log(date5); // 2022-11-5 1:0:45

 

 

[  Math 객체  ]

: 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 javascript 표준 내장 객체

Math.PI = 3.14(파이값) 
Math.E = 2.718(자연로그값)
---
console.log(Math.min()); //값을 넣지 않을 경우 Infinity 반환
console.log(Math.min(-10,2,10)); //-10
console.log(Math.min(0,'a',5)); //비교할 수 없는 값이 있을 경우 NaN값 반환
console.log(Math.max(-10,2,10)); //10

console.log(Math.random()); //random: 무작위 수 반환(0~1사이의 수(소수값 출력))
//▼ 어떤 최솟값과 최댓값 사이의 수를 반환하고 싶은 경우 밑의 식을 사용
var min =1; var max = 10;
console.log(Math.random() * (max-min)+min);

console.log(Math.round(1.2)); //2; round: 반올림
console.log(Math.round(-1.7)); //-2

console.log(Math.floor(1.9)); //1; floor: 내림(정수기준)
console.log(Math.ceil(1.1)); //2; ceil: 올림(정수기준)

 

 

 

 

반응형

'WEB개발 > TIL' 카테고리의 다른 글

프레임워크와 라이브러리  (0) 2022.11.16
Javascript DOM  (0) 2022.11.15
Javascript(조건문, 반복문)  (0) 2022.11.14
Javascript(변수, 자료형, 연산자, 함수)  (0) 2022.11.14
CSS 속성(display, animation)  (0) 2022.11.14