객체는 key(love)와 value(1005)로 이루어져있으며,
객체는 순서를 보증하지 않는다.
즉 index가 없다.
const myO = {
'zard': 1004, 'love': 1005, 'cdr': 1006
}
document.write( myO + "<br>");
document.write( myO.cdr + "<br>");
document.write( myO['zard'] + "<br>");
// [object Object]
// 1006
// 1004
객체의 다양한 표기법
const myO = {
'cdr': [ 1006, 1007, 1008],
'zard': 1004,
'love': ['hoho', 'haha', 'hihi']
}
// myO
// myO.cdr
// myO.cdr[0] / myO.cdr[1] / myO.cdr[2]
// myO['cdr'][0] / myO['cdr'][1] / myO['cdr'][2]
// myO.zard
// myO['zard']
// myO.love
// myO.love[0] / myO.love[1] / myO.love[2]
// myO.love[0][0] / myO.love[2][1]
// myO['love'][0][0] / myO['love'][2][1]
어떠한 값을 낼 때 객체로 사용범위를 한정하는것이 더 좋다.
// const inputValue1 = Number( prompt("Number?") );
// const inputValue2 = Number( prompt("Number?") );
// const totalValue = inputValue1 + inputValue2;
// document.write( totalValue );
const addOp = {
inputValue1: 0,
inputValue2: 0,
totalValue: 0
}
addOp.inputValue1 = Number( prompt("Number?") );
addOp.inputValue2 = Number( prompt("Number?") );
addOp.totalValue = addOp.inputValue1 + addOp.inputValue2;
document.write( addOp.totalValue );
객체 for문
const myO = { a: 2004, b: 2005, c: 2006 }
for(objectKey in myO){
document.write( myO[objectKey] ) // 200420052006
document.write( myO.objectKey ) // undefinedundefinedundefined
}
객체인지 배열인지 확인하는 함수 예제
const myV1 = [
"zard",
{ love: 1004, loves: 1005, like: "cdr" },
1234,
true
];
const myV2 = { a: 2004, b: 2005, c: 2006 };
const myV3 = 1234;
const myV4 = "안녕";
const test = myV3;
function checkOject(){
if( typeof test == 'object' ) {
if( Array.isArray(test) ) {
checkArray();
} else {
document.write( "이 변수는 객체입니다." + "<br>" );
for (key in test) {
document.write( test[key] + "<br>" );
}
}
} else {
document.write( "이 변수는 배열도 객체도 아닙니다." );
}
}
function checkArray(){
if( Array.isArray(test) ) {
document.write( "이 변수는 배열입니다." + "<br>" );
for( let i=0; i<test.length; i++ ){
document.write( test[i] + "<br>" );
}
} else {
checkOject(myV);
const myO = {
zard: [1004, 1005, 1006],
love: 123456789,
cdr: {
key1: 'zard',
key2: 'love',
key3: 'cdr'
}
}
function travelObject(obItem){
for(const key in obItem){
if( typeof obItem[key] == 'object'){
if(Array.isArray(obItem[key])){
for(let i=0; i<obItem.zard.length; i++){
document.write(obItem.zard[i] + "<br>");
}
} else {
for(const keyKey in obItem[key]){
document.write(obItem[key][keyKey] + "<br>");
}
}
} else {
document.write(obItem[key] + "<br>");
}
}
}
travelObject(myO);
반응형
'JAVASCRIPT' 카테고리의 다른 글
JAVASCRIPT ) .length (0) | 2024.07.10 |
---|---|
JAVASCRIPT ) 진수 표현법 (0) | 2024.07.09 |
JAVASCRIPT ) 배열 (0) | 2024.07.04 |
JAVASCRIPT ) 함수 (1) | 2024.07.03 |
JAVASCRIPT ) 반복문 (0) | 2024.07.03 |