-
javascript 2프로그래밍 언어 😵💫/JavaScript 2023. 3. 6. 02:20
객체
- 프로퍼티(변수)
- 메소드(함수)
자바스크립트는 객체 기반 언어
객체 유형 1. 코어객체 2. HTML DOM객체 3. 브라우저 객체
- 코어 객체 종류
Array, Date, String, Math 등 (객체 생성하면 내부에 이미 프로퍼티 메소드 존재함)
Date : 시간정보 담는 객체 new Date(년,월,일); // 2는 3월을 뜻함
String : 문자열 담기위한 객체 (일단 생성되면 수정 불가능 -> concat()후에도 기존 문자열에는 변화없다)
문자열을 배열처럼 [] 연산자 사용해서 문자에 접근
Math : new 키워드 사용 X
난수 발생
Math.random() :0- 0.99999 보다 작은 랜덤한 실수 리턴
Math.floor(m) : m의 소수점 이하를 제거하는 정수 리턴
//0-99까지의 랜덤한 정수 10개 만드는 코드 for(i=0; i<10; i++) { var m = Math.random() * 100; //m은 0- 99.99999보다 작은 랜덤 실수 var n = Math.floor(m); //뽑힌 숫자 m에서 소수점 이하 제거한 정수 (0-99사이) document.write(n+" "); }//1-9 까지의 십진 난수 function randomInt() { return Math.floor(Math.random()*9) + 1; // 0-8.999니까 1을 더해서 1 - 9.999 이고 소수점 제거 }- 코어 객체 생성
new 키워드 이용 // var today = new Date();
- 객체 접근
객체와 멤버 사이 점(.) 연산자 이용
obj.프로퍼티 = 값;
변수 = obj.프로퍼티;
obj.메소드(매개변수 값들);
<script> var today = new Date(); //Date 객체 생성 document.write("현재시간 :" + today.toLocaleString() + "<br>"); //메소드 호출 var mystr = new String("자바스크립트 공부하기"); //String 객체 생성 document.write("mystr의 길이 :" + mystr.length + "<br>"); // 프로퍼티 읽기 </script>배열 만들기
1. []로 배열 만들기
var plots = [-20, -5, 0 , 15, 20];
배열의 크기
plots[5] = 33; //plots배열에 6번째 원소 추가. 배열의 크기 6
<주의> plots[10] = 33; 오류 !! -> 차례대로 추가해줘야함

<!DOCTYPE html> <html lang="en"> <head> <title>[]로 배열 만들기</title> </head> <body> <h3>[]로 배열 만들기</h3> <hr> <script> var plots = [20, 5,8,15,20]; document.write("var plots = [" +plots+"] <br>"); for(i=0; i<plots.length;i++){ for(j=0; j<plots[i]; j++){ document.write("*"); } document.write(plots[i]+"<br>"); } </script> </body> </html>나는 이렇게 짜주었는데
원래 교재에서는
for(i=0; i<5; i++) { var size = plots[i]; // plots 배열의 i번째 원소 while(size>0) { document.write("*"); size--; } document.write(plots[i] + "<br>"); }이렇게
for문으로 반복하는데 아예 배열의 크기가 고정되어 있으니 5번 반복하고
반복하는 동안의 i번째 원소를 size라는 변수에 저장하고
size가 0보다 큰 동안 size를 줄여가며 (20일때 * 하나 찍고 -- 해서 19되면 *하나 이렇게 0이 될때까지)
...어려운 코드를 썼다 웅웅..
2. Array로 배열 만들기
var week = new Array("월", "화", "수"); //초기값 가진 배열
var week = new Array(7); //배열의 크기 먼저 생성하고
week[0] ="월"; // 나중에 원소 값 저장
var week = new Array(); //빈 배열 생성 원소값 저장 할때마다 크기 증가
c = a.concat(b);c는 a와 b를 연결한 새 배열 c = a.join("##");c는 배열 a사이에 "##" 연결한 문자열c = a.reverse();a.reverse()로 a 자체 변경c = a.slice(1,2);c는 a를 1부터 2까지 자른 문자열c = a.sort();a.sort()로 a 자체 변경c= a.toString();toString()은 원소사이에 "," 넣어 문자열 생성사용자객체생성 1. 직접객체 (new Object() , 리터럴 표기법) 2. 객체의 틀(프로토타입)만들고 생성
new Object()
function inquiry() { return this.balance; //inquiry메소드가 속해있는 객체의 balance 프로퍼티니까 this. 사용 } var account = new Object(); account.balance = 35000; //프로퍼티 생성 및 초기화 account.inquiry = inquiry; //메소드 작성리터럴 표기법
var account = { balance : 35000, //프로퍼티 생성 및 초기화 inquiry : function() { return this.balance; } // 메소드 작성 };프로토타입 (클래스 같은 거)
코어객체가 자바스크립트에서 제공하는 프로토타입
//프로토타입은 함수로 만든다 function Student(name, score) { this.name = name; this.score = score; //score 프로퍼티 작성 this.getGrade = function () { if(this.score > 80) return "A"; else if(this.score > 60) return "B"; else return "F" } // 메소드 작성 } 객체 생성 new 키워드 사용 var mina = new Student("채민아", 90); document.write(mina.name + "의 학점은" + mina.getGrade() + "<br>");'프로그래밍 언어 😵💫 > JavaScript' 카테고리의 다른 글
[프로그래머스] 점의 위치 구하기, 크기가 작은 부분문자열 (2) 2023.03.29 [프로그래머스] 삼총사 자바스크립트 (0) 2023.03.27 자바스크립트 값 입력 받기 (1) 2023.03.14 javascript 1 (2) 2023.03.05