1. in 키워드
문자열 in 객체
형태로 작성
객체 내부에 해당 문자열을 가지고 있는 속성이 있는지 확인
결과값 boolean 형태로 리턴
속성이 존재하면 ‘true’, 속성이 존재하지 않으면 ‘false’ 출력
var student = {
name : '우고은',
kor : '96',
eng : '98',
math : '94',
sci : '90'
};
var key = "kor";
"name" in student; //true
key in student; // true
// 식별자로서 사용하는경우 변수로 선언되어있어야 함."kor"로 인식되어 true 출력
"sex" in student; // false
2. with 키워드
with (객체이름) { 해당 구문 안에서는 속성명으로만 호출 가능}
형태로 작성
복잡하게 사용해야 하는 코드를 짧게 줄여주는 코드
var output= '';
with (student){
output += name;
output += kor;
}
console.log(output); //우고은 96
- 문자열, 숫자 bool, 객체, 함수, Undefined
배열의 자료형
또한 객체
1.객체 생성하기
객체 내부의 데이터는 속성 : "속성 값"
형태로 입력
속성 > 문자열 또는 식별자 형태로 입력 가능
속성 값 > 키에 들어가는 데이터
var object = {
key : "value A ",
key_B : "value B",
key_C : "value C, value D"
};
2.객체 접근하기
객체 요소에 접근할 때, 배열과 비슷한 방법으로 요소에 접근할 수 있음.
var key ='key_B';
document.write("object['key'] : " + object['key']); //키 값을 변수로서 활용할 경우 사용 => 'value A' 출력
document.write("<br/>object.key : " + object.key); // 일반적으로 사용하는 접근방법 => 'value A' 출력
document.write("<br/>object[key] : " + object[key]+"<br/>"); // key를 "변수"로 인식, object['key_B'] => 'value B' 출력
3.객체의 데이터를 반복문으로 출력하기.
for (var i in object){
//object.i => undefined 출력
document.write("<br/>" + i + " : " + object[i]);
}
1. 함수 선언 방식
1.1 ECMAScript 5
function power(n) {
return n*n ;
}
1.2 ECMAScript 6 : 화살표 함수(람다 식), IE 에서 지원 불가능
var power = (n) => { n*n }; //코드가 한 줄일 경우 중괄호 {} 생략 가능
2. 가변매개변수
2.1 ECMAScript 5 : arguments 객체 사용
2.2 ECMAScript 6 : 전개연산자(…) 사용
- 전개 연산자는 매개변수 마지막에 사용할 수 있음.
(...numbers,a,b) --> X
(a,b,...numbers) --> O
- 전개 연산자는 함수 당 하나씩만 사용할 수 있음.
var sumAll= (...numbers) => {
var output = 0 ;
for (var i=0;i<numbers.length ; i++){
output += numbers[i]; // 매개변수로 들어온 모든 인자를 더하는 함수
}
document.write(output);
}
var array = [1,2,3,4,5,6,7,8];
sumAll.apply(null, array); //ECMAScript 5 : 다른 array 자체를 매개변수로 전달.
sumAll(...array); //ECMAScript 6 : 다른 array 자체를 매개변수로 전달.