반응형

javascript core 3

[JavaScript Core] 심볼형(Symbol) 에 대해 알아보자

이번 글에서는 심볼형(Symbol) 에 대해 알아보도록 하겠습니다. 심볼을 사용하면 재미있는 것들을 할 수 있는데, 특히 객체에 값을 추가하는 부분에 있어서 독보적인 역할을 하기 때문에, 글을 끝까지 보시고 완벽하게 익히셔서 응용해보셨으면 좋겠습니다! 1. 심볼형(Symbol)let sb1 = Symbol(); let sb2 = Symbol("id"); let sb3 = Symbol("id"); console.log(sb2 == sb3); // false 먼저, 심볼형은 Symbol() 을 통해 만들 수 있습니다. 인자값 없이 그냥 만들수도 있고, Symbol("id") 와 같이 이름을 지정할수도 있습니다. 그러나 서로 다른 변수에 이름이 같은 심볼형이 선언된다고 해도, 두 심볼형은 서로 달라서 비교 연..

[JavaScript Core] 옵셔널 체이닝(?.) 에 대해 알아보자

이번 글에서는, 옵셔널 체이닝(optional chaining) 문법에 대해 알아보겠습니다. 옵셔널 체이닝은 비교적 최근에 추가된 문법으로, 알아두면 코드를 줄이거나 개선하는데 많은 도움이 될 것입니다. 그리 어려운 문법도 아니니, 글을 끝까지 읽고 한번 본인의 코드에 옵셔널 체이닝을 적용시켜보도록 합시다! 1. 옵셔널 체이닝(optional chaining) 우리가 특정 객체의 프로퍼티나 메소드에 접근하려면, 점 표기법(.) 이나 대괄호 표기법([]) 을 이용합니다. 아래와 같이 말이죠. let obj = { a : 1 } console.log(obj.a); 그러나, 객체에 존재하지 않는 값에 접근하려고 하면, TypeError 가 발생합니다. 이는 당연한 에러이지만, 어떤 상황에서는 존재하지 않는 값..

[JavaScript Core] new 연산자와 생성자 함수에 대해 알아보자

이번 글에서는, 객체 리터럴과 객체 생성자 이외에 새롭게 객체를 만들 수 있는 new 연산자와 생성자 함수에 대해 알아보도록 하겠습니다. 1. new 연산자, 생성자 함수 보통, 객체를 처음 선언할 때는 객체 리터럴을 주로 사용합니다. 아래와 같이 말이죠. let user = { name: "moonsung", age: 17 } 그러나, 위와 같은 유사한 객체를 여러번 만들어야 하는 일이 생길 수 있을 때에는, 매번 위와 같이 객체를 직접 선언해야 하고, 이는 코드의 가독성 및 재사용성을 떨어뜨립니다. function User() { this.name = "moonsung"; this.age = 17; } let user = new User(); 따라서 위의 코드처럼 생성자 함수 User를 선언하고, n..

반응형