[JS] 자바스크립트 형변환, 객체 생성 방식
숫자를 문자열로 변환(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