본문 바로가기

5월 ~ 7월) 웹/web

45Day - 21_prototype/ 22_Object/ 23_Array/ 24_destructure/ 25_Number/ 26_String

21_prototype

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
	<h1>프로토타입 메소드(Prototype Method)</h1>
	<hr>
	<p>클래스 함수를 사용하여 객체를 생성할 경우 클래스 함수에 선언된 프로퍼티와 메소드가
	객체의 요소로 생성</p>
	<p>프로퍼티는 객체의 속성값을 저장하기 위해 객체마다 따로 생성되어 사용하는 것이 맞지만
	메소드는 동일한 명령의 함수가 객체마다 따로 생성되어 저장되는 것은 비효율적인 사용 방법</p>
	<p>객체의 메소드를 프로토타입 메소드로 선언하면 객체의 갯수에 상관없이 메소드가 하나만
	생성되어 모든 객체가 공유하여 사용 가능</p>
	
	<script type="text/javascript">
	/*
	function Student(num, name, address) {
		this.num=num;
		this.name=name;
		this.address=address;
		
		this.display=function() {
			alert("학번 = "+this.num+", 이름 = "+this.name+", 주소 = "+this.address);
		}
		
		this.setValue=function(num, name, address) {
			this.num=num;
			this.name=name;
			this.address=address;
		}	
	}
	
	//생성된 객체마다 프로퍼티와 메소드를 따로 저장 
	var student1=new Student(1000, "홍길동", "서울시 강남구");
	var student2=new Student(2000, "임꺽정", "서울시 종로구");
	var student3=new Student(3000, "전우치", "서울시 동작구");
	
	//student1.display();
	//student2.display();
	student3.display();
	*/
	
	//클래스 함수 선언할 때 프로퍼티만 생성
	function Student(num, name, address) {
		this.num=num;
		this.name=name;
		this.address=address;
	}
	
	/*
	//클래스 함수에 프로토타입 메소드 추가
	Student.prototype.display=function() {
		alert("학번 = "+this.num+", 이름 = "+this.name+", 주소 = "+this.address);
	}
	
	Student.prototype.setValue=function(num, name, address) {
		this.num=num;
		this.name=name;
		this.address=address;
	}
	*/
	
	Student.prototype={
		"display" : function() {
			alert("학번 = "+this.num+", 이름 = "+this.name+", 주소 = "+this.address);
		},
		"setValue" : function(num, name, address) {
			this.num=num;
			this.name=name;
			this.address=address;
		}
	}
	
	/*
	//생성된 객체에는 프로퍼티만 따로 저장되고 메소드는 하나만 생성되어 모든 객체가 공유하여 사용
	var student1=new Student(1000, "홍길동", "서울시 강남구");
	var student2=new Student(2000, "임꺽정", "서울시 종로구");
	var student3=new Student(3000, "전우치", "서울시 동작구");
	
	//student1.display();
	//student2.display();
	student3.display();
	*/
	
	var student=new Student(1000, "홍길동", "서울시 강남구");
	// student.display();
	// student.setValue(2000, "임꺽정", "서울시 종로구");
	// student.display();
	
	// instanceof 연산자 : ES6에서 추가된 연산자로 변수에 저장된 객체가 클래스 함수(클래스)에
	// 접근하지 못할 경우 [false]를 제공하고 접근 가능한 경우 [true]를 제공하는 연산자
	// 형식)객체변수 instanceof 클래스
	// alert(student instanceof Student);//true
	
	// in 연산자 : 객체의 요소가 아닌 경우 [false]를 제공하고 객체의 요소인 경우 [true]를 제공하는 연산자
	// 형식)"요소명" in 객체변수
	// alert("num" in student); // true
	// alert("display" in student); // true
	// alert("phone" in student); // false
	
	/*
	//for 구문을 사용하여 객체 요소에 대한 일괄처리 가능
	// 형식)for(변수명 in 객체변수) { 명령; 명령; ... }
	// > 객체 요소의 이름을 하나씩 제공받아 변수에 저장하여 반복 처리
	for(variable in student) {
		// alert(variable);
		
		// 객체의 요소는 . 연산자가 아닌 [] 연산자를 사용하여 접근 가능
		if(typeof(student[variable]) != "function") { // 객체의 요소가 메소드가 아닌 경우
			alert(variable + " = " + student[variable]);
		}
	}
	*/
	
	// with 구문을 사용하여 블럭 내부에서 객체 요소를 변수처럼 사용하는 기능 제공
	// 형식)with(객체변수) { 명령; 명령; ... }
	// alert("학번 = " + student.num + ", 이름 = " + student.name + ", 주소 = " + student.address);
	with(student) {
		alert("학번 = "+num+", 이름 = "+name+", 주소 = "+address);
	}
	</script>
</body>
</html>

 


 

 


22_Object

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
	<h1>Object 클래스 함수</h1>
	<hr>
	<p>요소가 하나도 선언되어 있지 않은 클래스 함수로 요소가 하나도 없는 객체를 생성할 때 사용</p>
	<p>생성된 Object 객체에 요소를 추가하여 사용 - 필요한 요소가 포함된 하나의 객체를 생성</p>
	
	<script type="text/javascript">
	/*
	var student=new Object();//Object 객체를 생성하여 변수에 저장 - Empty Object
	//alert(student);//[object Object]
	
	//Object 객체에 요소 추가
	student.num=1000;//객체 요소에 값을 저장 - 프로퍼티 추가
	student.name="홍길동";
	student.address="서울시 강남구";
	
	//alert("학번 = "+student.num+", 이름 = "+student.name+", 주소 = "+student.address);

	//Object 객체에 요소 추가
	student.display=function() {//객체 요소에 함수를 저장 - 메소드 추가
		alert("학번 = "+this.num+", 이름 = "+this.name+", 주소 = "+this.address);
	}
	
	student.display();
	*/
	
	/*
	//자바스크립트에서는 Object 객체로 보다 쉽게 생성하기 위해 JSON 기능 제공
	//JSON(JavaScript Object Notation) : 자바스크립트 객체 표기법
	// => 자바스크립트에서 객체를 쉽게 생성하기 위해 제공되는 방법
	// => Object 객체 : {}, Array 객체 : []
	var student={};
	//alert(student);//[object Object]
	
	student.num=1000;//프로퍼티 추가
	student.name="홍길동";
	student.address="서울시 강남구";
	student.display=function() {//메소드 추가
		alert("학번 = "+this.num+", 이름 = "+this.name+", 주소 = "+this.address);
	}
	
	student.display();
	*/
	
	/*
	//JSON를 이용하면 객체를 생성할 때 요소를 추가하여 초기화 처리 가능
	//형식)var 변수명={"요소명":값, "요소명":값, "요소명":함수, ... }
	var student={"num":1000, "name":"홍길동", "address":"서울시 강남구"
		, "display":function(){
			alert("학번 = "+this.num+", 이름 = "+this.name+", 주소 = "+this.address);
		}
	};
	*/
	
	/* ES6에서는 Object 객체에 메소드를 간결하게 표현하여 저장 가능 */
	var student={"num":1000, "name":"홍길동", "address":"서울시 강남구"
		, display(){
			alert("학번 = "+this.num+", 이름 = "+this.name+", 주소 = "+this.address);
		}
	};
	
	student.display();
	</script>
</body>
</html>

 


 

 


23_Array

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
	<h1>Array 클래스 함수</h1>
	<hr>
	<p>다수의 값(객체)를 저장하는 객체를 생성하기 위한 클래스 함수
	- Array 객체의 프로퍼티와 메소드 제공</p>
	
	<script type="text/javascript">
	
	// 방법 1
	/*
	//요소가 하나도 없는 Array 객체 생성 - Empty Array
	var array=new Array();
	
	//Array.length : Array 객체에 저장된 요소의 갯수를 저장한 프로퍼티
	//alert(array.length);//객체의 속성값 출력
	
	//Array.toString() : Array 객체에 저장된 모든 요소값을 문자값으로 반환하는 메소드
	//alert(array.toString());//객체 메소드를 호출하여 반환되는 값 출력
	
	//Array 객체를 저장한 변수를 출력할 경우 자동으로 toString() 메소드 호출
	alert(array);
	*/

	
	// 방법 2
	/*
	//Array(size) : 매개변수로 전달받은 숫자값(정수)의 갯수만큼 요소를 가진 Array 객체 생성
	// => Array 객체의 요소에는 자동으로 null 저장 
	var array=new Array(5);
	//alert(array.length);
	alert(array);
	*/

	
	// 방법 3
	//Array(value, value, ...) : 매개변수로 2개 이상의 값을 전달받아 전달값의 갯수만큼 요소를 
	//가진 Array 객체 생성 - Array 객체의 요소값으로 전달값이 차례대로 저장 
	var array = new Array(10,20,30);
	//alert(array.length);
	alert(array);
	 
	//Array 객체의 요소는 첨자(0부터 1씩 증가되는 숫자값)를 사용하여 구분
	// => Array 객체의 요소는 [] 연산자에 첨자를 사용하여 표현
	//alert("array[0] = "+array[0]+", array[1] = "+array[1]+", array[2] = "+array[2]);
	
	//Array 객체의 요소를 표현하는 첨자가 범위를 벗어난 경우 [undefined] 자료형으로 표현
	//alert("array[3] = "+array[3]);
	
	/*
	//JSON를 이용하여 Array 객체 생성
	var array=[];//Empty Array
	alert(array.length);
	*/
	
	//JSON를 이용하여 Array 객체를 생성하고 Array 객체의 요소에 초기값 저장
	var array=[10, 20, 30];
	
	/*
	//for 구문을 이용하여 Array 객체에 저장된 요소에 대한 일괄 처리 가능
	for(i=0;i<array.length;i++) {
		alert("array["+i+"] = "+array[i]);
	}
	*/
	
	/*
	//in 연산자를 사용한 for 구문을 이용하여 Array 객체의 첨자를 제공받아 일괄 처리 가능
	for(index in array) {
		alert("array["+index+"] = "+array[index]);	
	}
	*/
	
	/*
	//of 연산자를 사용한 for 구문을 이용하여 Array 객체의 요소값을 제공받아 일괄 처리 가능
	for(value of array) {
		alert(value);	
	}
	*/
	
	/*
	//Array.forEach(callback(element[, index][, array])) : Array 객체의 요소를 일괄 처리
	//하기 위한 기능을 제공하는 메소드
	// => 메소드 매개변수에 콜백함수를 전달하면 Array 객체에 저장된 요소의 갯수만큼 반복
	//호출되며 콜백함수의 매개변수로 전달받은 값을 이용하여 Array 객체를 콜백함수에서 처리 
	// => 콜백함수의 매개변수에는 요소값, 첨자, Array 객체가 저장되어 콜백함수에서 사용
	array.forEach(function(elt, i) {
		alert("array["+i+"] = "+elt);	
	});
	*/
	
	//alert(array);//10,20,30
	
	//Array.push(value) : Array 객체의 마지막 위치에 요소를 추가를 매개변수로 전달받은 값을
	//요소값으로 저장하는 메소드
	array.push(40);
	//alert(array);//10,20,30,40
	
	//Array.pop() : Array 객체의 마지막 위치에 요소를 삭제하고 삭제된 요소의 값을 반환하는 메소드
	var value=array.pop();
	//alert(array);//10,20,30
	//alert(value);//40
	
	//Array.unshift(value) : Array 객체의 첫번째 위치에 요소를 추가를 매개변수로 전달받은 값을
	//요소값으로 저장하는 메소드
	array.unshift(value);
	//alert(array);//40,10,20,30
	
	//Array.shift() : Array 객체의 첫번째 위치에 요소를 삭제하고 삭제된 요소의 값을 반환하는 메소드
	var value=array.shift();
	//alert(array);//10,20,30
	alert(value);//40
	</script>
</body>
</html>

 


 

 


24_destructure

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
	<h1>구조분해할당(Destructuring Assignment)</h1>
	<hr>
	<p>구조분해할당 : Object 객체 또는 Array 객체의 요소를 해체하여 요소값을 개별적인 변수에
	저장하여 제공하기 위한 기능</p>
	
	<script type="text/javascript">
	/*
	var array=["홍길동","임꺽정","전우치"];
	
	//var one=array[0];
	//var two=array[1];
	//var three=array[2];
	
	//구조분해할당을 사용하여 Array 객체의 요소값을 차례대로 제공받아 변수에 저장
	//형식)var [변수명,변수명,...] = Array객체
	var [one, two, three] = array;
	
	alert("one = "+one+", two = "+two+", three = "+three);
	*/
	
	/*
	var [one, two, three] = ["홍길동","임꺽정","전우치"];
	alert("one = "+one+", two = "+two+", three = "+three);
	*/
	
	/*
	//Array 객체를 분리 할당할 경우 할당 받을 값이 없을 때 변수에 저장될 기본값 설정 가능
	//var [one, two, three="일지매"] = ["홍길동","임꺽정","전우치"];
	var [one, two, three="일지매"] = ["홍길동","임꺽정"];
	
	alert("one = "+one+", two = "+two+", three = "+three);
	*/
	
	/*
	//함수 선언시 매개변수에 전달된 값이 없는 경우 매개변수에 저장된 기본값 설정 가능
	function sum(num1=10, num2=20) {
		return num1+num2;
	}
	
	//alert("합계 = "+sum());
	//alert("합계 = "+sum(100));
	alert("합계 = "+sum(100,200));
	*/
	
	/*
	var [num1, num2] = [10, 20];
	//alert("num1 = "+num1+", num2 = "+num2);//num1 = 10, num2 = 20
	
	//두 변수에 저장된 값을 바꾸어 저장
	[num1, num2] = [num2, num1];
	alert("num1 = "+num1+", num2 = "+num2);////num1 = 20, num2 = 10
	*/
	
	/*
	function returnArray() {
		return [10, 20, 30];//Array 객체 반환
	}
	
	//Array 객체를 반환받아 변수에 저장
	//var array=returnArray();
	//alert(array[0]+", "+array[1]+", "+array[2]);//10, 20, 30
	
	//Array 객체를 반환받아 Array 객체의 요소값을 변수에 저장
	//var [num1, num2, num3] = returnArray();
	//alert(num1+", "+num2+", "+num3);//10, 20, 30
	
	//Array 객체를 반환받아 Array 객체의 요소값 중 필요한 요소값만 변수에 저장 가능
	//var [num1, , num2] = returnArray();
	//alert(num1+", "+", "+num2);//10, 30
	
	//... 연산자(전개 연산자)를 사용하여 할당된 나머지 요소값들을 Array 객체로 전달받아 저장 
	var [num1, ...num2] = returnArray();
	alert("num1 = "+num1);//10
	alert("num2 = "+num2);//20,30
	*/
	
	/*
	//Object 객체를 생성하여 변수에 저장
	var student={num:1000, name:"홍길동"};
	//alert("학번 = "+student.num+", 이름 = "+student.name);
	
	//Object 객체의 요소값을 구조 분해하여 개별적인 변수에 저장
	// => 변수의 이름이 반드시 요소명과 동일하게 생성되도록 작성
	//var [num, name] = student;
	//alert("학번 = "+num+", 이름 = "+name);
	
	//변수의 이름의 요소명이 다르게 설정된 경우 에러 발생
	//var [number, name] = student;//에러 발생
	//alert("학번 = "+number+", 이름 = "+name);
	
	//변수의 이름를 요소명과 다르게 설정하여 사용 가능
	var {num:number, name:irum} = student;
	alert("학번 = "+number+", 이름 = "+irum);
	*/
	
	/*
	var {num:number, name:irum} = {num:1000, name:"홍길동"};
	alert("학번 = "+number+", 이름 = "+irum);
	*/
	
	var people=[{"name":"홍길동", "subject":"JAVA", "grade":"초급"}
		,{"name":"임꺽정", "subject":"JSP", "grade":"중급"}
		,{"name":"전우치", "subject":"SPRING", "grade":"고급"}];
	
	/*
	for(i=0;i<people.length;i++) {
		// alert(people[i]);//[object Object]
		alert("이름 = "+people[i].name+", 과목명 = "+people[i].subject+", 등급 = "+people[i].grade);
	}
	*/
		
	/*
	// for 구분에서 of 연산자를 사용하여 Array 객체의 요소값(Object 객체)를 하나씩 제공받아 반복 처리
	for(object of people) {
		alert("이름 = "+object.name+", 과목명 = "+object.subject+", 등급 = "+object.grade);
	}
	*/
	
	/*
	// Array 객체의 요소값(Object 객체)를 구조 분해하여 변수에 저장
	// > Object 객체의 요소명과 변수명을 동일하게 작성
	for([name, subject, grade] of people) {
		alert("이름 = "+name+", 과목명 = "+subject+", 등급 = "+grade);
	}
	*/
	
	/*
	for({name:irum, subject:name, grade} of people) {
		alert("이름 = " +irum+ ", 과목명 = " +name+ ", 등급 = " + grade);
	}
	*/
	
	//매개변수로 Object 객체를 전달받아 요소값을 구조 분해하여 변수에 저장
	function display({num, name}) {
		alert("학번 = "+num+", 이름 = "+name);
	}
	
	//var student={"num":1000, "name":"홍길동"};
	//display(student);
	
	display({"num":1000, "name":"홍길동"});
	</script>
</body>
</html>

 


 

 

 


25_Number

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
	<h1>Number 클래스 함수</h1>
	<hr>
	<p>숫자값이 저장된 객체를 생성하기 위한 클래스 함수 - Number 클래스 함수의 프로퍼티와 메소드 제공</p>
	
	<script type="text/javascript">
	/*
	//매개변수에 전달된 숫자값이 저장된 Number 객체를 생성하여 변수에 저장
	//var num=new Number(100);
	var num=new Number("100");//매개변수에 문자값을 전달해도 숫자값으로 변환되어 저장
	
	//alert("변수의 자료형 = "+typeof(num));//변수의 자료형 = object
	
	//Number.toString() : Number 객체에 저장된 숫자값을 문자값으로 변환하여 반환하는 메소드
	//alert("num.toString() = "+num.toString());//num.toString() = 100
	//Number 객체가 저장된 변수를 출력하면 자동으로 toString() 메소드 호출
	//alert("num = "+num);//num = 100
	
	//Number.toString(radix) : Number 객체에 저장된 숫자값을 매개변수로 전달받은 진수 형태의
	//문자값으로 변환하여 반환하는 메소드
	//alert("16 진수 = "+num.toString(16));
	//alert("8 진수 = "+num.toString(8));
	//alert("2 진수 = "+num.toString(2));
	
	//Number.valueOf() : Number 객체에 저장된 숫자값을 반환하는 메소드
	var su=num.valueOf();
	//alert("변수의 자료형 = "+typeof(su));//변수의 자료형 = number
	//alert("su = "+su);//su = 100
	
	//자바스크립트는 모든 값을 객체로 표현하여 처리
	// => number 자료형의 변수에 저장된 숫자값은 내부적으로 Number 객체로 처리
	// => number 자료형의 변수는 Number 클래스 함수의 프로퍼티와 메소드 사용 가능
	//alert("su.toString(2) = "+su.toString(2));
	*/
	
	/*
	//Number 객체에 요소(프로퍼티 또는 메소드) 추가 가능
	var num=new Number(100);
	//alert("num = "+num);//num = 100
	num.display=function() {//Number 객체에 요소(메소드) 추가
		alert("Number 객체에 display() 메소드 호출");
	}
	num.display();//메소드 호출 가능
	*/
	
	/*
	//number 변수는 객체가 아니므로 요소(프로퍼티 또는 메소드) 추가 불가능
	var num=100;
	//alert("num = "+num);//num = 100
	num.display=function() {//
		alert("Number 객체에 display() 메소드 호출");
	}
	num.display();//에러 발생
	*/
	
	var num=12.3456789;
	//alert("num = "+num);//num = 12.3456789
	
	/*
	//Number.toFixed(digits) : Number 객체에 저장된 숫자값에서 매개변수로 전달받은 소숫점
	//자릿수(0~20)까지 잘라내어 문자값으로 변환하여 반환하는 메소드
	// => 자릿수 뒤의 값을 이용하여 반올림 처리
	//alert("num.toFixed(0) = "+num.toFixed(0));//num.toFixed(0) = 12
	//alert("num.toFixed(1) = "+num.toFixed(1));//num.toFixed(1) = 12.3
	alert("num.toFixed(2) = "+num.toFixed(2));//num.toFixed(2) = 12.35
	*/
	
	/*
	var num="100";
	//alert("변수의 자료형 = "+typeof(num));//변수의 자료형 = string
	//alert("결과 = "+(num+200));//결과 = 100200 - 문자값 결합
	
	//Number(string) : 매개변수로 전달받은 문자값을 숫자값을 변환하여 반환하는 함수
	alert("결과 = "+(Number(num)+200));//결과 = 300
	*/
	
	alert("자바스크립트에서 표현 가능한 최대 숫자값 = "+Number.MAX_VALUE);
	alert("자바스크립트에서 표현 가능한 최소 숫자값 = "+Number.MIN_VALUE);
	</script>
</body>
</html>

 


 


26_String

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
	<h1>String 클래스 함수</h1>
	<hr>
	<p>문자값이 저장된 객체를 생성하기 위한 클래스 함수 - String 클래스 함수의 프로퍼티와 메소드 제공</p>
	
	<script type="text/javascript">
	// 매개변수에 전달된 문자값이 저장된 String 객체를 생성하여 변수에 저장
	var str=new String("Hello, Javascript!!!");
	//alert("변수의 자료형 = "+typeof(str)); // 변수의 자료형 = object
	
	//String.toString() : String 객체에 저장된 문자값을 반환하는 메소드
	//alert("str.toString() = "+str.toString()); // str.toString() = Hello, Javascript!!!
	//String 객체가 저장된 변수를 출력하면 toString() 메소드 자동 호출
	//alert("str = "+str);//str = Hello, Javascript!!!
	
	//String.length : String 객체에 저장된 문자값의 문자 갯수를 저장한 프로퍼티
	//alert("str.length = "+str.length); // str.length = 20
	
	//String.charAt(index) : String 객체에 저장된 문자값에서 매개변수로 전달받은 첨자 위치의
	//문자를 반환하는 메소드
	//alert("str.charAt(7) = "+str.charAt(7)); // str.charAt(7) = J
	
	//문자값은 내부적으로 배열처럼 처리되므로 [] 연산자로 첨자를 사용하여 요소값(문자) 사용 가능
	//alert("str[7] = "+str[7]); //str[7] = J
	
	//String.indexOf(string) : String 객체에 저장된 문자값에서 매개변수로 전달받은 문자값을
	//검색하여 시작첨자를 반환하는 메소드 - 검색 문자값이 없는 경우 -1 반환
	//alert("str.indexOf('script') = "+str.indexOf('script')); //str.indexOf('script') = 11
	//alert("str.indexOf('Script') = "+str.indexOf('Script')); //str.indexOf('Script') = -1
	
	//String.replace(search, replace) : String 객체에 저장된 문자값에서 매개변수로 전달받은 
	//첫번째 문자값을 검색하여 두번째 문자값으로 변경하여 반환하는 메소드
	//alert("str.replace('Hello','Hi') = "+str.replace('Hello','Hi')); //str.replace('Hello','Hi') = Hi, Javascript!!!
	
	//String.toUpperCase() : String 객체에 저장된 문자값을 대문자로 변환하여 반환하는 메소드
	//String.toLowerCase() : String 객체에 저장된 문자값을 소문자로 변환하여 반환하는 메소드
	//alert("str.toUpperCase() = "+str.toUpperCase()); //str.toUpperCase() = HELLO, JAVASCRIPT!!!
	//alert("str.toLowerCase() = "+str.toLowerCase()); //str.toLowerCase() = hello, javascript!!!
	
	//String.substring(from, to) : String 객체에 저장된 문자값을 매개변수로 전달받은 시작첨자
	//(from - 포함)부터 종료첨자(to - 미포함)까지의 문자값을 잘라내어 반환하는 메소드
	//alert("str.substring(7,11) = "+str.substring(7,11)); //str.substring(7,11) = Java
	
	//String.substr(from, length) : String 객체에 저장된 문자값을 매개변수로 전달받은 시작첨자
	//(from - 포함)부터 길이(length)만큼  문자값을 잘라내어 반환하는 메소드
	//alert("str.substr(7,4) = "+str.substr(7,4)); //str.substr(7,4) = Java
	
	//String.split(pattern) : String 객체에 저장된 문자값을 매개변수로 전달받은 문자값으로
	//구분 분리하여 Array 객체로 반환하는 메소드
	//var [str1, str2] = str.split(" "); // 구조분해할당를 사용하여 Array 객체의 요소값을 변수에 저장
	//alert("str1 = "+str1+" >> str2 = "+str2);//str1 = Hello, >> str2 = Javascript!!!
	
	var str="ABCDEFG";
	//alert("변수의 자료형 = "+typeof(str)); //변수의 자료형 = string
	//string 변수에 저장된 문자값은 내부적으로 String 객체로 처리되므로 프로퍼티 및 메소드 사용 가능
	alert("str.length = "+str.length); //str.length = 7
	</script>
</body>
</html>