[javascript] Object, Array, function

KCH·2022년 2월 14일
1

js

목록 보기
1/3
  • javascript는 타입 선언이 따로 필요없음
  • 배열은 문자, 숫자, 객체, 함수 등 자바스크립트에서 변수에 저장할 수 있는 모든 것들을 할당 가능하며, 배열은 Any Type이라고 볼 수 있음

1. Object

const obj = {
  name: "ka",
  age: "24",
  isSleep: true,
  movies: ["타짜", "버드박스"],
  objArr: [
    // object 1
    {
      name: "go", 
      age: 25
    },
    // object 2
    {
      name: "ro",
      age: 27
    }
  ]
};

obj.gender = "male"// 추가
delete obj.age; // 삭제
object.address; // => undefined
'address' in object; // 프로퍼티 존재여부 확인 => false
'age' in object; // 프로퍼티 존재여부 확인 => true

console.log(obj); // => 객체 프로퍼티를 모두 출력
for(key in obj) { // 반복문으로 log가 프로퍼티 개수만큼 출력됨
  console.log(key) // 객체의 key에 접근
  console.log(obj[key]) // 객체의 value에 접근
}

2. Array

const arr = [1, true, "문자열"]; 

arr.length; // 3

arr.push(123); // 배열 끝에 요소 추가
arr.pop() // 배열 끝에 요소 삭제

arr.unshift(1,2,"3"); // 배열 앞에 추가
arr.shift(); // 배열 앞에 삭제

for(let value of arr) { // 배열 출력 반복문
  console.log(value);
}

3. Function

function fun(name, age) {
 return `${name}, ${age}`;
}

const funcSave = fun("ka", 123); // 함수 저장도 가능..

console.log(funcSave);

* Object + Function

const calc = {
  plus: function(a, b) {
    return a + b;
  },
  minus: function(a, b) {
    return a + b;
  },
  multiply: function(a, b) {
    return a + b;
  },
  divide: function(a, b) {
    return a + b;
  }
};

const plus = calc.plus(1, 2);
const minus = calc.minus(4, 2);
const multiply = calc.multiply(3, 4);
const divide = calc.divide(12, 4);

console.log(plus);
console.log(minus);
console.log(multiply);
console.log(divide);

// Arrow Function에서의 this
const objFunc = {
  func: function() {
    console.log(this); // this는 objcFunc 객체, 즉 자신을 가리키며 객체를 출력
  },
  arrowFunc: () => {
    console.log(this); // window 전역객체를 가리킴(nodejs에서는 global을 가리킴)
   	// 따라서 객체 함수는 화살표 함수를 사용하지 않는 것이 좋다.
  }
};
profile
dreaming developer

0개의 댓글