본문 바로가기

JavaScript12

[JavaScript] 심볼(Symbol) const obj = { 1: '1입니다.' false: '거짓' } 지금까지 객체의 프로퍼티 키는 문자형으로 만들었다. 1이나 boolean형으로 만들어도 Object.keys(obj);로 확인해보면 ["1", "false"] 문자형으로 반환되는 것을 알 수 있다. 문자형과 더불어 가능한 것이 심볼(Symbol)형이다. 심볼은 아래와 같이 만들어진다. const a = Symbol(); // *new를 붙이지 않는다. 심볼은 유일한 식별자를 만들때 사용한다. const b = Symbol(); const b = Symbol(); console.log(a); //Symbol() console.log(b); //Symbol() const b로 심볼을 선언하면 생긴거는 동일해보여도 a === b; a==b;.. 2022. 9. 15.
[JavaScript] 객체 메소드 - Object.assign(), Object.keys(), Object.values(), Object.entries(), Object.fromEntries() / 계산된 프로퍼티 (Computed Property) let a = 'age'; const user = { name : 'Mike', age : 30 // [a] : 30 } a변수와 user객체가 있다. let a = 'age'; const user = { name : 'Mike', [a]: 30 // age : 30 } 여기서, age키 대신 [a] 로 사용해도 된다. 대괄호[ ]로 묶어주면 문자열a가 아닌, 변수a에 할당된 값이 들어간다. 이를 계산된 프로퍼티(Computed Property)라고 한다. //계산된 프로퍼티(Computed Property) const user = { [1 + 4] : 5, ["안녕"+"하세요"] : "Hello" } // {5: 5, 안녕하세요: "Hello"} 위처럼 식자체를 넣는 것도 가능하다. 다음은, 객체에서 .. 2022. 9. 15.
[JavaScript] 생성자 함수 생성자 함수는 붕어빵 틀이라고 생각하면 된다. 필요한 재료를 넣어주고 찍어내는 것이다. 보통 첫글자는 대문자로 생성한다. function User(name, age) { // 첫 글자는 대문자 this.name = name; this.age = age; } let user1 = new User('Mike', 30); //new 연산자 사용해서 호출 let user2 = new User('Jane', 20); let user3 = new User('Tom', 17); 필요한 재료는 이름과 나이다. User라는 함수를 만들고, 이름(name)과 나이(age)를 인자로 받아서 this에 넣어준다. new 연산자를 사용해서 함수를 호출한다. 각각 다른 변수명으로 3번 연달아 호출한다. 객체 3개를 생성했다. n.. 2022. 9. 15.
[JavaScript] 변수 var, let, const / 호이스팅(hoisting) 1. var 한 번 선언된 변수를 다시 선언할 수 있다. var name = 'Mike'; console.log(name); // Mike var name = 'Jane'; console.log(name); // Jane name이 두번 선언되었어도 문제되지 않는다. let 변수의 생성과정 1. 선언 2. 초기화(undefined를 할당해주는 단계) 단계 3. 할당 단계 2. let * var와 let은 크게 다르지 않다. 대부분의 경우 둘을 바꿔 사용해도 문제되지 않는다. let 변수는 선언하기 전에 사용할 수 있다. console.log(name); // undefiend var name = 'Mike'; .var name이 나오기 전에 name을 사용했지만 에러를 일으키지 않는다. 왜냐하면 아래의 .. 2022. 9. 15.