CodeStates/JavaScript

Section 1 / Unit8 : [JavaScript] 객체

yeeendy 2023. 4. 26. 10:50

코드스테이츠 수업 12일차!
오늘 배운 객체 간단 개념과 코플릿 풀면서 몰랐었던 속성들을 정리해보자

 

객체
  • 키, 값 쌍으로 이루어져 있음
  • 키, 값 사이는 콜론(:)으로 구분
  • 객체를 사용하는 두가지 방법
    ->Dot notation
    ->Bracket notation
let user = {
	name: 'yeeendy',
	city: 'Seoul',
}

//Dot notation
user.name;  //'yeeendy'
//Bracket notation
user['city'];  //'Seoul'
  • dot/bracket notation을 통해 값을 추가할 수 있음
let user = {
	name: 'yeeendy',
	city: 'Seoul',
}

user['category'] = '공부';
user.isPublic = true;
user.tags = ['#코딩', '#화이팅']
  • delete를 이용해 키, 값 쌍을 삭제할 수 있음
let user = {
	name: 'yeeendy',
	city: 'Seoul',
}

delete user.name;
/*
let user = {
	city: 'Seoul',
}
*/
  • in을 이용해 해당하는 키가 있는 지 알 수 있음
let user = {
	name: 'yeeendy',
	city: 'Seoul',
}

'name' in user;  //true
'age' in user;  //false

 


for in 반복문
  • 상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복
const object = { a: 1, b: 2, c: 3 };

for (const property in object) {
  console.log(`${property}: ${object[property]}`);
}

// Expected output:
// "a: 1"
// "b: 2"
// "c: 3"

 

Object.keys( ).length
  • 객체의 길이를 잴 수 있는 메소드

12번 코플릿 문제를

function countNumberOfKeys(obj) {
  // TODO: 여기에 코드를 작성합니다.
  let count = 0;
  for (let value in obj) {
    count++;
  }
  return count;
}

이렇게 작성했는데

function countNumberOfKeys(obj) {
  return Object.keys(obj).length;
}

더 간결하게 표현할 수 있었다.

 

자바스크립트에서 공백을 제거하는 방법으로 3가지
  • trim( )
    →string.trim( )은 문자열의 공백을 제거
    →문자열 왼쪽, 오른쪽 공백 모두 제거
    →trimStart( )
    →문자열 왼쪽 공백 제거
    →trimEnd( )
    →문자열 오른쪽 공백 제거

  • replace( )
    →정규표현식 replace(regex, str)
    →replace(/ /g, ' ')
    →문자열의 모든 공백을 찾는다, 찾은 공백은 ' '으로 변환하여 제거
    →replace(/ ^ +/, ' ')
    →^ : 문자열의 시작, + : 1개 이상의 공백
    →문자열 왼쪽에 있는 공백만 찾음
    →replace(/ +$ /, ' ')
    →$ : 문자열의 시작 + : 1개 이상의 공백
    →문자열 오른쪽에 있는 공백만 찾음

  • split( )과 join( )
    →split(' ')으로 공백을 기준으로 문자열을 분리하고
    →join(' ')으로 분리된 문자열을 공백 없이 합침
let str = "  Hello, World, JavaScript  ";

let result = str.split(' ').join('');
console.log("[" + result + "]");

//output
[Hello,World,JavaScript]