천천히 알아보는 코딩공부

javascript 기본 타입, 참조 타입(객체 타입) 본문

JavaScript/기초

javascript 기본 타입, 참조 타입(객체 타입)

고기고기물고기 2022. 4. 19. 02:58

javascript 기본타입

 

 자바스크립트에서 기본 타입은 숫자, 문자열 불린값을 비롯해 null, undefined라는 타입이 있다.

자바스크립트는 느슨한 타입 체크 언어다.

 

 

느슨한 타입, 강력한 타입 Ex)

/* JavaScript Example (loose typing) */
var a = 13; // Number 선언
var b = "thirteen"; // String 선언

/* Java Example (strong typing) */
int a = 13; // int 선언
String b = "thirteen"; // String 선언

 

 

1. 숫자

  • C 언어의 경우 정수냐 실수냐에 따라 int, long, float, double 등과 같은 다양한 숫자 타입이 존재하지만, 자바스크릡트는 하나의 숫자형만 존재한다. 자바스크립트에서는 모든 숫자를 64비트 부동 소수점 형태로 저장하기 때문이다.

 

var num = 5 / 2;

console.log(num); // (출력값) 2.5
console.log(Math.floor(num)); // (출력값) 2

 

2. 문자열

 

  • 문자열은 작은 따옴표(')나 큰 따옴표(")로 생성한다.
  • 한 번 정의된 문자열은 변하지 않는다.

 

// str 문자열 생성

var str = 'test';
console.log(str[0], str[1], str[2], strp3[); // (출력값) test

// 문자열의 첫 글자를 대문자로 변경?
str[0] = 'T';
console.log(str);// (출력값) test\
// var 로 선언된 문자는 수정을 불가능

 

3. 볼린값

 

 // 볼린타입
 
 var boolBar = true;

 

4. null, undefined

 

  • 두 타입은 모두 자바스크립트에서 '깂이 비어있음'을 나타낸다
  • 자바스크립트 환경 내에서 기본적으로 값이 할당되지 않는 변수 undefined 타입
  • undefined 타입이자 값을 나타낸다
// null 타입 변수 생성
var nullVar = null;

console.log(typeof nullVar === null); //(출력값) false
console.log(nullVar === null); //(출력값) true

 

 

javascript 참조 타입

 

1. 객체 생성 - Object 생성자 함수 이용

// Object()를 이용해서 foo 빈 객체 생성
var foo - new Object();

// foo 객체 프로퍼티 생성

foo.name = 'foo';
foo.age = 30;

console.log(typeof foo); // (출력깂) object
console.log(foo); // (출력값) {name : 'foo', age : 30}

 

2. 객체 리터럴 방식이용

객체 리터럴 방식으로 foo 객체 생성

var foo = { 
	name = 'foo',
	age: 30,
    gender : 'male'
};

console.log(typeof foo); // (출력값) object
console.log(foo); //(출력값) {name : 'foo', age : 30, gender : 'male'}

console.log(foo.name); // foo
console.log(foo['name']); // foo
console.log(foo.nickname); // undefined

 

대괄호 표기법만 사용해야 할 경우

 

foo['full-name'] = 'foo bar';

console.log(foo['full-name']; // foo bar
console.log(foo.full-name); // NaN
  • full-name 경우는 '-' 연산자가 있는 표현식이다 이 경우에는 대괄호 표기법만을 이용해서 foo['full-name'] 형태로 접근해야 한다.

 

3. for in 문과 객체 프로퍼티 출력

 

// 객체 리터럴을 통한 foo 객체 생성

var foo = {
	name : 'foo',
    age : 30,
    major : 'computer science'
};

var prop
for (prop in foo)
{
	console.log(prop, foo[prop]);
}

출력결과

name foo
age 30
major 'computer science'

 

 

4. 객체 프로퍼티 삭제

  • delete 는 프로퍼티를 삭제하되, 객체를 삭제하지 못한다.
var for = {
	name : 'foo',
    nickname : 'babo'

};

console.log(foo.nickname); //babo
delete foo.nickname;
console.log(foo.nickname); // undefined

delete foo; // 객체는 삭제 X
console.log(foo.name); foo

'JavaScript > 기초' 카테고리의 다른 글

javascript 배열  (0) 2022.04.19
javascript 참조 타입의 특성, 프로토타입  (0) 2022.04.19
javascript 태그 추가  (0) 2022.03.31
JavaScript 기초 정리 2  (0) 2022.03.29
HTML in Javascript  (0) 2022.03.21
Comments