본문 바로가기
2222
Stack & Tool/Node.js

javascript in udemy #12 ~ #16

by PARK TAE JOON 2021. 2. 20.

#12 data types

remember keyword : let, typeof reassign variable

 

 

#13 let, const and var

var은 이제 사용하지 않는 것이 좋다. ES6이전 let과 동일하게 사용되었다.

var, const, let에 대해 섹션7에서 더 자세히 가르치겠다고 한다. 일단 var을 사용하지 않도록 권고.

간단하게 여기서 얘기하면 var은 함수범위 / let은 블록범위.

let은 변할 수 있고 const는 변할 수 없다.

깨끗한 코드 작성을 위해서 일반적으로 const로 하고 코드를 작성하면서 계속 재할당 될 변수에 대해서는 let을 사용한다.

책에서 본 내용과 동일하다. 이것이 좋은 습관이 맞는 것 같다.

재밌는건 사실 변수를 선언할 때 var, let, const를 사용하지 않아도 console.log로 출력하는 모습을 보여준다는 것. 그러나 이런식으로 작성하도록 권고하지 않는다. 절대로.

 

 

#14 operator(연산자)

// 수학 연산자? 이런식으로 생각하자.
const now = 2037;
const ageJonas = now - 1991;
const ageSarah = now - 2018;
console.log(ageJonas, ageSarah);

console.log(ageJonas * 2, ageJonas / 10, 2 ** 3);

// 할당연산자
const firstName = 'Jonas';
const lastName = 'Schmedtmann';
console.log(firstName + ' ' + lastName);

let x = 10 + 5; // 15
x += 10; // x= x + 10

console.log(ageSarah >= 18);

console.log에 동시에 2가지 값을 넣을 수 있다는 것을 처음 알았다.

**는 제곱을 나타낸다는 것을 기억하자.

number들은 따음표를 붙이지 않고 string들은 붙인다.

코드에서 작동중인 변수 이런것들을 브라우저 콘솔창에서 표현해 볼 수 있다.

 

 

#15 연산자 우선순위

operator precedence를 검색해서 MDN에 있는 결과값을 본다. 숫자가 높을수록 연산자 우선순위가 높다. 외울필요는 전혀 없고 코드를 짜면서 참고가 필요할때마다 참고하자.

이곳에서 우선순위도 알 수 있지만 계산 방향도 알 수 있다. 그냥 책을 보거나 강의를 보면서 느낌으로만 알았던 변수 선언 = 에 대해서 조금 더 자세히 알 수 있었다.

x = y = 25 - 10 - 5; 
/* -연산자는 좌>우로 계산해서 25 - 10 - 5을 먼저 계산해서 10이 되고 
= 연산자는 우측에서 좌측으로 됐다.
*/

const averageAge = (ageJonas + ageSarah) / 2
console.log(averageAge)
// 최우선 우선순위는 그룹화다.  이런식으로 사용해야 한다.

 

 

#16 코딩과제#1

/* ---------- date1 ----------- */
//BMI FORMULA
function BMI(height) {
    const BMI = height ** 2;
    return BMI;
}

//marks
let marksBMI = BMI(1.69);
console.log('marks BMI : ' + marksBMI);

//john
let johnBMI = BMI(1.95);
console.log('john BMI : ' + johnBMI);

console.log(marksBMI > johnBMI);


/* ---------- date2 ----------- */
//marks
marksBMI = BMI(1.88);
console.log('marks BMI : ' + marksBMI);

//john
johnBMI = BMI(1.76);
console.log('john BMI : ' + johnBMI);

console.log(marksBMI > johnBMI);

이와 같이 짰다.

아직 강의에서는 함수를 사용하는 방법을 가르쳐 주지 않았지만 BMI는 공식이기 때문에 하나의 고정된 식으로 두고 그때그때 변화된 값만 입력해주면 값을 바로 받아볼 수 있는 방법으로 만들어보았다.

그런데 BMI 공식이 좀 이상하게 써져있어서 내가 잘못계산했다. 다시 영상을 중지하고 내 식대로 다시 짜보았다.

//BMI FORMULA
function BMI(mass, height) {
    const BMI = mass / height ** 2;
    return BMI;
}

// BMI Comparison
const markHigherBMI = marksBMI > johnBMI

/* ---------- date1 ----------- */
//marks
let marksBMI = BMI(78, 1.69);
console.log('marks BMI : ' + marksBMI);
//john
let johnBMI = BMI(92, 1.95);
console.log('john BMI : ' + johnBMI);
console.log(markHigherBMI);


/* ---------- date2 ----------- */
//marks
marksBMI = BMI(95, 1.88);
console.log('marks BMI : ' + marksBMI);
//john
johnBMI = BMI(85, 1.76);
console.log('john BMI : ' + johnBMI);
console.log(markHigherBMI);

영상을 보면 나와 코드 작성법은 다르지만 결과는 같다.

더 다양한 방법으로 코드를 더 클린하게 만들 수 있을 것 같다. console.log 자체를 함수에 넣어서 작동하는 방법으로도 가능하겠고 BMI를 두개로 만들어서 marks와 john의 BMI로 따로 구분하는 것도 가능하겠다.

실제로 현업에 가면 어떤방식으로 하는지를 듣고 코드에 반영할 것이기 때문에 지금 이렇게 고민하는 습관은 나중에 도움이 많이 될 것 같다.

+영상끝날때쯤보니 DATE1과 DATE2 다 확인해보는 것이 아니였다.. 단순히 DATA1을 사용할지 DATA2를 사용할지 고르는 거였다..

'Stack & Tool > Node.js' 카테고리의 다른 글

Promise에 대해서  (0) 2021.04.14
innerHTML vs innerText vs textContent  (0) 2021.03.18
나를 괴롭혔던 Ojbect.entries.  (0) 2021.03.12
javascript in udemy #17 ~ #24  (0) 2021.02.22
udemy에서 javascript 1위 강좌를 보기 시작.  (0) 2021.02.20

댓글