JavaScript의 데이터 타입이다. 다른 언어와 차이가 있다.
- 6가지 원시 데이터 형
| 데이터 타입 | 설명 |
| Boolean | true, false |
| Number | 정수 또는 실수형 숫자 -> 42, 3.145 등등 |
| String | 문자열 -> "안녕", "abcd" |
| undefined | 값이 저장되어 있지 않은 최상위 속성 변수를 선언하고 값을 저장하지 않으면 undefined 가 기본값 |
| null | null 값을 나타내는 특별한 키워드 |
| Symbol | 인스턴스가 고유하고 불변인 데이터 형. |
- JavaScript 동적 (자료)형지정 언어이다.
let a = "hello" //String
a = 1 //Number
a = null //null
a //undefined
- 연산을 할 때 자료형이 자동적으로 변환된다.
- String형과 + 연사을 한다면 그 뒤에 값은 모두 문자열로 처리된다.
- 그외의 연산은 문자열이 숫자 모양을 띄고 있고 다른 것도 숫자라 한다면 String이 Number로 바뀐다.
- 그외의 경우에는 NaN으로 처리가 된다.
let a = "hello" + 7; //result -> "hello7"
let b = "hello" + 7 + 14; //result -> "hello714"
let c = 7 + 14 + "hello"; //result -> "21hello"
let d = "hello" - 7; //result -> NaN(Not a Number)
let e = "30" - 7; //result -> 23
- 객체(Object)
-객체의 생성 방법
const myCar = new Object();
myCar.make = "Ford";
myCar.model = "Mustang";
myCar.year = 1969;
////////////////////////////////////////////////////////////////////
const myCar = {
make: 'Ford',
model: 'Mustang',
year: 1969
fullDescription : function() {
return this.make + " " + this.model + " " + this.year;
}
};
////////////////////////////////////////////////////////////////////
// 네 개의 변수를 쉼표로 구분해서
// 한 번에 생성하고 할당
const myObj = new Object(),
str = 'myString',
rand = Math.random(),
obj = new Object();
myObj.type = '마침표 구문';
myObj['date created'] = '공백을 포함한 문자열';
myObj[str] = '문자열 값';
myObj[rand] = '무작위 수';
myObj[obj] = '객체';
myObj[''] = '빈 문자열까지';
//result
//type: "마침표 구문"
//date created: "공백을 포함한 문자열"
//myString: "문자열 값"
//0.7845177758005735: "무작위 수"
//[object Object]: "객체"
//"": "빈 문자열까지"
//모든 대괄호 표기법 안의 키는 심볼이 아닌 경우 문자열로 변환되는 점을 기억
//JavaScript 객체의 속성 이름(키)은 문자열이나 심볼 뿐이기 때문
//예를 들어, 위 코드의 myObj에 obj를 키로 추가하는 부분에서
//JavaScript는 obj.toString() 메서드를 호출한 결과 문자열을 새로운 키로 사용
- 객체는 변수와 함수를 가질 수 있다. 객체는 key-value의 형태를 가진다.
-
객체에서 변수는 속성이라고 할 수 있고, 객체가 가지고 있는 함수는 메서드라고 한다.- 객체는 현실로 비유하자면 어떤 사물이 있고 그 사물이 가지고 있는 속성들, 기능들을 하나로 묶어서 표현한 것이라고 생각한다.- 명확하고 알아보기 쉽게 코드를 작성하는 것이 좋기 때문에 개인적으론 2번째 방법이 좋은것 같다.
cf) this keyword
| In an object method, this refers to the object. |
| Alone, this refers to the global object. |
| In a function, this refers to the global object. |
| In a function, in strict mode, this is undefined. |
| In an event, this refers to the element that received the event. |
| Methods like call(), apply(), and bind() can refer this to any object. |
'JavaScript' 카테고리의 다른 글
| JavaScript(2) - 20220425 (0) | 2022.04.25 |
|---|---|
| JavaScript(1) - 20220419 (0) | 2022.04.19 |
| JavaScript(4) - let, const (0) | 2022.03.29 |
| JavaScript(4) - var (0) | 2022.03.29 |
| JavaScript(4) (0) | 2022.03.28 |