나는 프리티어만 사용한다. eslint를 같이 사용하는 경우 문법규칙이 너무 빡빡해서 마음에 들지 않았다. 하지만 회사에서 프로젝트를 하는 경우 지켜야할 코딩 컨벤션이 있다. 그럴 때 프리티어만으로는 부족하고 eslint를 사용하는 것이 안전하다. 구글, 에어비엔비 등에서 사용하는 스타일 가이드를 적용할 수 있고, 팀 내에서 원하는 규칙을 추가해 줄 수 있어서 유연성에 있어 장점이 많은 도구이다.
실제 프로젝트에서는 test tool이 필요하다. 보통 코딩을 하면서 프로그램이 제대로 동작을 하는지 체크를 하기 마련이지만 규모가 커지면서 함수나 조건들이 변경 및 추가되면서 이전의 동작들이 망가지는 경우가 있다. 그렇기 때문에 test framework를 사용하여 모든 동작에 오류가 없게 하는 것이 중요하다. Mocha tool을 사용하여 테스트 튜토리얼을 해보았다. 하지만 테스트는 정말 필요한 경우에만 하는 것이 비용적인 측면에서 유리하다.
어떠한 객체가 있을 때 그 객체의 key, value 값들을 반복문으로 얻어낼 수 있는 방법이 있다.
const obj = {name:"Tom", age:"26", height: "177cm" }
for (let key in obj) {
console.log(key) // name , age, height
console.log(obj[key]) // Tom, 26, 177cm
}
참고로 여기서 key 대신 아무 값이나 입력해도 상관없다.
객체가 정수형일 경우
const obj1 = {"3": "one", "1": "two", "5": "three"}
for(let key in obj1) {
console.log(key) // 1, 3, 5 순으로 자동정렬되어 결과값이 나온다.
}
오름차순으로 정렬해주기 싫을 경우
const obj2 = {"+3": "one", "+1": "two", "+5": "three"}
for(let key in obj2) {
console.log(+key) // 3, 1, 5 key 앞에 꼭 +를 붙일것
}
앞에 +를 붙여준다.
만약 정수형일 경우와 +를 붙여준 경우가 혼용되어있는 경우
const obj3 = {"+3": "one", "1": "two", "+5": "three", "4": "four"}
for(let key in obj3) {
console.log(+key) // 1, 4 , 3 , 5
}
정수형인 값들 먼저 오름차순으로 나열된 후 나머지는 입력 순서대로 정렬됨
cosnt obj = {name: 1, age: 2}
delete obj.name;
console.log(obj) // {age: 2}