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

+ Recent posts