Node.js

[JS] 자바스크립트 형변환, 객체 생성 방식

channnnii 2022. 5. 2. 22:15

숫자를 문자열로 변환(Number TO String)

1. (숫자).toString() : Object.protptype.toString 메서드를 사용하는 방법

(123).toString() //"123"

 

2. String(숫자) : String 생성자 함수를 new 없이 활용하는 방법

String(123); //"123"

 

3. 숫자 + "" : 문자열 연결 연산자 "+"를 활용하는 방법

123 + "" //"123"

 

 

 

 

 

문자열을 숫자로 변환 (String TO Number)

단, 문자열을 숫자로 변환하는 경우, "123"처럼 숫자로 된 문자열만 변환이 가능하다.

1. parseInt(정수 문자열) || parseFloat(실수 문자열)

parseInt("123") //123
parseFloat("123.123") //123.123

parseInt("Hello") //nan

 

2. Number(문자열)

Number("123") //123
Number("123.123") //123.123

 

3. + (문자열)

+ ("123") //123
+ "123.123" //123.123

 

4. (문자열) * 1 : 문자열에 * 연산을 하면, 숫자로 형변환이 된다.

"123" * 1 //123
"123.123" * 1 //123.123

 

 

 

객체 생성 방식

객체를 생성하는 방법은 3가지 정도가 있다.

① 객체 리터럴  ② 생성자 함수  ③ Object.create( )

 

1. 객체 리터럴 방식 (Object Literal)

var obj = {key : value, ... } : 변수처럼 객체를 생성하는 방식으로, 중괄호{ } 안에 key : value를 쉼표(,)로 구분하여 만든다.

var Obj = {
	name : 'KCY',
        age : 20,

        hello : function(){
            return `이름은 ${this.name}이고, 나이는 ${this.age}입니다.`;
        }
};

console.log(Obj);

 

2. 생성자 방식(Constructor)

new Constructor( ) 방식으로 객체를 생성하는 방식이다.

 

1) new Object( ) : new 연산자를 통해 Object 객체의 생성자 함수를 호출한다.

var Obj = new Obj();

Obj.name = 'KCY';
Obj['age'] = 20;

Obj.hello = function(){
	return `이름은 ${this.name}이고, 나이는 ${this.age}입니다.`;
};

console.log(Obj);

 

2) new 생성자( ) : Number, String, Array 등의 내장 객체도 생성할 수 있다.

var str = new String('Hello');
console.log(str);

 

3) new 사용자 정의 생성자( ) : 직접 생성자 함수를 만들어 객체를 생성할 수 있다.

var Obj = function(name, age){
	this.name = name;
        this.age = age;
        this.hello = function(){
             return `이름은 ${this.name}이고, 나이는 ${this.age}입니다.`;
        }
}

var Obj = new Obj('KCY', 20);
console.log(Obj);

 

 

 

3. Object.create( ) 방식 

Object.create(프로토 타입) : 프로토타입 상속을 통해 객체를 만드는 방식이다.

var parent = {a : 10, b : 20};

var child = Obect.create(parent);
console.log(child.a); //10