(SK쉴더스)AI 활용한 클라우드 & 보안 전문가 양성 캠프

[새싹 성동 2기] 3. Javascript 문법 기초(3)

hunm719 2024. 11. 13. 19:32

목차

 

1. 배열

2. 객체

 

 

[1] 배열

 - 배열의 기초

// 배열 선언
let values = ["lobotomy", "LOR", "Limbus", true, 8];
console.log(values);            // ['lobotomy', 'LOR', 'Limbus', true, 8]

// 배열 길이는 length 속성으로 알 수 있음
console.log(values.length);     // 5
console.log(values["length"]);  // 5

// 배열 데이터(요소)를 추가하는 방법
values.push("김지훈");
console.log(values);            // ['lobotomy', 'LOR', 'Limbus', true, 8, '김지훈']

values[values.length] = "하무하무팡팡";
console.log(values);            // ['lobotomy', 'LOR', 'Limbus', true, 8, '김지훈', '하무하무팡팡']

values[values.length + 3] = "치명적인 귀여움";
console.log(values);            // ['lobotomy', 'LOR', 'Limbus', true, 8, '김지훈', '하무하무팡팡', …, '치명적인 귀여움']
console.log(values[7]);         // undefined

 

 - 모든 배열 요소를 순차적으로 접근하는 방법

// 배열 선언
let values = ["lobotomy", "LOR", "Limbus", true, 8];
console.log(values);            // ['lobotomy', 'LOR', 'Limbus', true, 8]

// 모든 배열 요소를 순차적으로 접근하는 방법
console.log('방법1. ------------------');
console.log(values[0]);         // lobotomy
console.log(values[1]);         // LOR
console.log(values[2]);         // Limbus
console.log(values[3]);         // true
console.log(values[4]);         // 8


console.log('방법2. ------------------');
for (let i = 0; i < values.length; i++) {
    console.log(values[i]);
}


console.log('방법3. ------------------');
for (let index in values) {
    console.log(index, values[index]);
}


console.log('방법4. ------------------');
for (let value of values) {
    console.log(value);
}


console.log('방법5-1. ------------------');
{   // 함수 선언문 형식으로 콜백 함수를 정의
    function printItem(value) {
        console.log(value);
    }
    values.forEach(printItem);
}


console.log('방법5-2. ------------------');
{   // 함수 표현식 형식으로 콜백 함수를 정의
    const printItem = function (value) {
        console.log(value);
    };
    values.forEach(printItem);
}


console.log('방법5-3. ------------------');
{   // 화살표 함수 형식으로 콜백 함수를 정의
    const printItem = (value) => {
        console.log(value);
    };
    values.forEach(printItem);
}


console.log('방법5-4. ------------------');
{   // 간략한 화살표 함수 형식으로 콜백 함수를 정의
    const printItem = value => console.log(value);
    values.forEach(printItem);
}


console.log('방법5-5. ------------------');
{   // 콜백 함수를 직접 정의
    values.forEach(value => console.log(value));
}


// 인덱스를 함께 출력
console.log('방법6-1. ------------------');
{   // 함수 선언문 형식으로 콜백 함수를 정의
    function printItem(value, index) {
        console.log(index, value);
    }
    values.forEach(printItem);
}


console.log('방법6-2. ------------------');
{   // 함수 표현식 형식으로 콜백 함수를 정의
    const printItem = function (value, index) {
        console.log(index, value);
    };
    values.forEach(printItem);
}


console.log('방법6-3. ------------------');
{   // 화살표 함수 형식으로 콜백 함수를 정의
    const printItem = (value, index) => {
        console.log(index, value);
    };
    values.forEach(printItem);
}


console.log('방법6-4. ------------------');
{   // 간략한 화살표 함수 형식으로 콜백 함수를 정의
    const printItem = (value, index) => console.log(index, value);
    values.forEach(printItem);
}


console.log('방법6-5. ------------------');
{   // 콜백 함수를 직접 정의
    values.forEach((value, index) => console.log(index, value));
}

 

 

 

[2] 객체

// 객체 선언
let person = {
    "name" : "김지훈",
    "age" : 32,
    "development" : [ "Lobotomy", "LOR", "Limbus"]
}

// 객체 속성 참조 방법 : 객체변수.속성이름(키) 또는 객체변수['속성이름(키)']
console.log(person.name);           // 김지훈
console.log(person['age']);         // 32
console.log(person["development"]); // ['Lobotomy', 'LOR', 'Limbus']

// 객체 속성의 값을 변경하는 방법
person.name = "슈나쟝";
console.log(person.name);           // 슈나쟝

// 객체 속성을 추가하는 방법
person.isCute = true;
person['position'] = "CEO";
console.log(person);    // {name: '슈나쟝', age: 32, development: [ "Lobotomy", "LOR", "Limbus"], isCute: true, position: 'CEO'}

// 객체 속성을 순회하면서 값을 가져오는 방법
console.log('방법1. for-in 구문을 이용');
for (let key in person) {
    console.log(`${key}: ${person[key]}`);
}

// !!! for-of 구문은 객체에 사용할 수 없다. !!!

// Object.keys() 메소드를 이용
console.log('방법2. Object.keys() 메소드를 이용');
let keys = Object.keys(person);
console.log(keys);
keys.forEach(key => console.log(`${key}: ${person[key]}`));