본문 바로가기
시작/TIL(Today I Learned)

[유튜브 '드림코딩'] 자바스크립트(JavaScript ES6) 7강 (2)

by 백씨네 2022. 9. 30.
728x90

Property value shorthan, Error

오늘은 가족행사도 있고 해서 유튜브 강의를 못 봤다.
대신 강의를 보기 힘들어서 그냥 유튜브에서 개발자들의 조언(?)등 을 보면서 어떻게, 어떤 개발자가 될지 고민해봤다.
그중에 가장 와닿고 실천하고 싶었던 부분은 에러를 정리해야 한다는 말이었다.
사실 지금은 이론을 배우는 부분이다 보니 에러가 발생하는 경우는 거의 내가 잘못 따라 쳤기 때문일 가능성이 높은데 그 과정에서도 배우는 게 있을 테니 정말 사소한 것도 기록해보려 한다.
오늘 내가 배운 것

Property value shorthand

 

Key와 value의 값이 같다면 생략 가능하다.

name = name,

age = age,                     라고 써야 하는 곳에서

name,

age,                                으로 쓸 있다.

 

 

JavaScript 오류 유형 (JavaScript Error)

EvalError 전역함수 eval() 에서 발생하는 오류
RangeError 숫자변수나 매개변수가 유효한 범위를 벗어났을 때 발생하는 오류
ReferenceError 잘못된 참조를 했을 때 발생하는 오류
SyntaxError 코드 분석중 잘못된 구문을 만났을 때 발생하는 오류
TypeError 변수나 매개변수가 유효한 자료형이 아닐 때 발생하는 오류
URIError encodeURI()나 decodeURI() 함수에서
부적절한 매개변수를 제공했을 때 발생하는 오류
AggregateError 여러개의 에러가 한 에러로 랩핑되어야 할 때의 발생하는 오류
(한 작업에서 여러개의 오류가 보고될 때 발생)
대표적으로 Promise.any()에 전달된 모든 promise들이 모두 거부 되었을 때 발생
InternalError 자바스크립트 엔진 내부에서 발생하는 오류

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Error

 

오늘의 에러

Error 1 : 

Const person4 = makePerson(‘Ellie’ , 30);

에서 ( ) 기호를 {}로 잘못 적어서

 

 Uncaught SyntaxError: Unexpected token '{' (at object.js:62:27) 에러 발생

 

Uncaught SyntaxError: 는 오류 유형

 

Unexpected token '{'   는 오류 내용

(at object.js:62:27)는 오류 위치

 

따라서, 내 오류는  구문 오류였고 object.js:62:27에서 (object.js 파일, 62번째 줄, 27번째 열)  '{' 기호에 대한 오류였다.

위에서 말한 것처럼 ()을 {}으로 잘못 적어서 나오는 오류였다.

 

 

Solution 1:

consol창에 친절하게 { 부분이 잘못되어있다고 나와있었기 때문에 해결하는데 오래 걸리지 않음. 

단순 오타 & 작성 빨리 알아차릴 있던 부분

 

에러 발생....!!!

 


동영상 보면서 따라 적어보기
// 3. Property value shorthand
const person1 = {name : 'bob', age : 2};
const person2 = {name : 'steve', age : 3};
const person3 = {name : 'dave', age : 4};
// person4 를 설정하려고 할 때 일일이 쓰는 방법이 아닌 함수를 이용해서 작성한다.
const person4 = makePerson{'ellie' , 30};
console.log(person4);

function makePerson(name, age){
    return {
        name,   // name = name,    
        age,    // age = age,
                // 이라고 적어야하지만 Property value shorthand 기능으로 
                // Key 와 value 의 값이 같다면 name,  age, 로 생략가능하다.
    }
}

 

반응형

댓글