JavaScript와 TypeScript 프로젝트에서 사용되는 테스트 프레임워크이다. Facebook에서 개발한 오픈 소스 프로젝트.
test.js
로 끝나거나, __test__
디렉터리 안에 있는 파일들은 모두 테스트 파일로 인식한다.npm test <파일명 이나 경로>
를 입력한다.test("테스트 설명", () => {
expect("검증 대상").toXxx("기대 결과");
});
package.json
"test": "jest"
로 수정
아주 간단하게 테스트 확인 완료!
현실 세계의 사물, 개념 또는 개체에 대한 추상화
Why?
데이터 그룹화(서로 연관있는 속성과 행동을 묶는 것)를 통해 코드의 모듈화, 구조화, 재사용성을 높인다.
// Object literal { key: value }
// key - 문자, 숫자, 문자열, 심볼
// value - 원시값, 객체 (함수)
let person = {
name: 'nami',
'default-mode': '😃', // 문자열 사용시 특수문자 사용 가능
0: 1,
['study-mode']: '🤓',
};
// 속성 property, 데이터에 접근하기 위해서
person.name; // 마침표 표기법 dot notation
console.log(person['default-mode']); // 대괄호 표기법 bracket notation
// 속성 추가
person.emoji = '🩵';
console.log(person.emoji);
// 속성 삭제
delete person.emoji;
console.log(person);
JavaScript에서 객체의 속성에 접근할 때 동적으로 속성 이름을 결정하는 방식.
const obj = {
name: 'nami',
age: '27',
hobby: '🎬',
};
// 코딩하는 시점에 정적으로 접근이 확정되는 방식.
obj.name;
obj.age;
console.log(obj);
// 동적으로 속성에 접근하고 싶을 때는 대괄호 표기법을 사용할 수 있다.
function getValue(obj, key) {
return obj[key];
}
console.log(getValue(obj, 'name'));
function addKey(obj, key, value) {
obj[key] = value;
}
addKey(obj, 'job', 'software engineer');
console.log(obj);
function deleteKey(obj, key) {
delete obj[key];
}
deleteKey(obj, 'name');
console.log(obj);
object 파일에 공부한 것들을 추합하여 object.js로 만들었고 export하여 object.test.js 파일로 import했다. 과정은 계속 연습해보기로 했다.
뿌듯.. 계속 예제를 익혀보겠다!