- [개발자의품격][부트캠프][1기][6차시] JavaScript 주요 포인트 #22022년 01월 21일 01시 18분 11초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
JavaScript 주요 포인트 #2
let person2 = { name: "홍길동", age: 22, tel: "010-0000-0000", isAdult: true, }; // 실무에서 주로 선언하는 방식이다. let person2 = new Object(); //이렇게도 선언 가능하지만 실무에서는 잘 쓰지 않는다.
위의 코드는 오브젝트(object)를 할당하는 예이다. 오브젝트는 매우 중요하다. 자바스크립트는 객체의 집합이다. 자바스크립트의 모든 것이 객체이다. 오브젝트 안에 오브젝트를 넣을 수 있다.
let name1 = person.name; // person 오브젝트의 name 키에 접근 let name1 = person["name"]; // 위 코드와 동일한 기능
오브젝트의 키에 접근하는 방식은 위와 같이 두 가지가 있다. []를 이용한 방식의 이점은 키명에 하이픈(-)이 있는 경우에도 접근 가능하다는 것이다. 서버로부터 json으로 데이터를 받아올 때 키에 하이픈이 들어가 있는 경우가 있다. json의 키는 큰따옴표로 감 쏴져 있기 때문에 하이픈이 있어도 자바스크립트 상에서 에러를 보여 주지 않는다. 하지만 .을 이용하는 방법으로 Json의 키에 접근하면 에러가 발생할 수 있다. 반면 []로 접근하면 에러가 발생하지 않는다.
let nums = []; // 주로 이 방식을 사용함 let nums = new Array(); // 이 방식도 가능하나 거의 사용하지 않음
위의 코드는 배열을 할당하는 예이다. 배열(array)은 순서를 가지고 있는 연속된 데이터의 집합이다. 컴퓨터의 메모리 크기에 준하여 무한으로 담을 수 있다. 배열과 오브젝트는 어떤 데이터 값이든 다 담을 수 있다.
let nums = [1, 3, , 5, 7]
배열은 연속된 데이터이므로 위와 같이 중간에 값을 비워 둘 수 없다.
배열의 index는 0부터 시작한다. 그 이유는 수에 대한 서양의 패러다임 때문이다. 동양에서는 수가 1부터 시작한다. 반면 미국, 영국 등 서양에서는 0부터 시작한다. 한 예로 우리나라에서의 나이는 태어나자 마자 1살이다. 반면 서양에서는 0살이다.
let persons = [ {name: "홍길동", tel: "010-0000-0001"}, {name: "유재석", tel: "010-0000-0002"}, {name: "김종국", tel: "010-0000-0003"} ]
DB에서 값을 가져올때는 위와 같이 배열 안에 오브젝트로 가져오게 된다.
undefined는 자바스크립트 엔진이 자체적으로 제어한다. 반면 Null은 개발자가 제어할 수 있다. Null을 더 이상 참조할 필요가 없는 변수에 할당하면 가비지컬렉터가 이를 인지하고 메모리 블록을 비워준다. 만약 대량의 데이터가 할당된 변수가 있다면 해당 변수를 사용한 후에 Null을 할당하면 성능 향상을 기대할 수 있다.
let x = 0.1; let y = 0.2; let z = x + y; console.log(z); // 0.30000000000000004
자바스크립트는 64비트 부동소수점으로 모든 숫자를 관리한다. 0과 1을 넣을 수 있는 공간 64개를 마련하고 있다. 위 코드를 실행하면 콘솔창에 0.3이 아니라 '0.30000000000000004'이 찍힌다. 일반적으로 실무에서는 소수점 1~4자리 정도까지만 표기하기 때문에 문제가 될 일은 잘 없다. 하지만 빅데이터의 연산을 다룬다거나, 문제가 될만한 소수점 이하의 숫자를 다루게 된다면 주의해야 한다. 그럴 때는 "bignumber.js 라이브러리"를 이용하면 된다.
console.log(3 / 0); // Infinity
값을 0으로 나누게 되면 자바스크립트에서는 Infinity를 띄운다. 실무의 복잡한 코드에서 이를 잘 발견하지 못하여 애먹는 경우가 왕왕있다. 따라서 주의를 요하는 부분이다.
undefined, null, 0, NaN, "", '', [], {} 는 모두 false에 해당한다. 조건문 사용 시 이 점을 유념하여 활용해야 한다.
if (typeof [] == "object") { } else { }
null, {}, []는 오브젝트 타입이다. 타입 구분을 잘해야 하는데 그 이유는 위와 같은 조건문 사용 시 잘 드러난다.
age = 17; isAdult = age >= 19 ? "성인" : "미성년자"; console.log(isAdult); // 미성연자 age = 20; isAdult = age >= 19 ? "성인" : "미성년자"; console.log(isAdult); // 성인
위의 코드는 조건 삼항 연산자의 예이다. 조건 삼항 연산자는 2가지 이상의 조건을 적용할 수 있다.
728x90반응형'영광의 시대! > 2022 개발자의 품격 부트캠프 1기' 카테고리의 다른 글
[개발자의품격][부트캠프][1기][8차시] JavaScript 주요 포인트 #4 | 내장 객체 - Array 객체 (0) 2022.02.02 [개발자의품격][부트캠프][1기][7차시] JavaScript 주요 포인트 #3 | 조건문, 반복문, 함수 | 내장 객체 String, Number (0) 2022.01.26 [개발자의품격][부트캠프][1기][5차시] JavaScript 주요 포인트 #1 (0) 2022.01.20 [개발자의품격][부트캠프][1기][2~4차시] HTML부터 CSS까지 - CSS 주요 포인트 (0) 2022.01.15 [개발자의품격][부트캠프][1기][2~4차시] HTML부터 CSS까지 - HTML 주요 포인트 (0) 2022.01.14 다음글이 없습니다.이전글이 없습니다.댓글