변수의 실체

프로그래밍이란 변수를 통해 값을 저장하고 연산자로 값을 연산,평가하고
조건문과 반복문으로 데이터의 흐름을 제어하고 이를 함수로 재사용 가능한
구문의 집합을 만들며 객체,배열 등으로 자료를 구조화하는 것이다.

변수는 값의 위치를 기억하는 저장소이며 값의 위치란 값이 위치하고 있는 메모리상의 주소이다.
즉, 변수란 값이 위치하고 있는 메모리 주소이며 이에 접근하기 위해 사람이 이해할 수 있는 언어로 명명한 식별자이다.

메모리 주소에 값을 저장하기 위해서는 메모리 공간을 확보해야할 메모리 크기(byte)를 알아야한다.

이는 값의 종류에 따라 확보해야할 메모리 크기가 다르기때문이다. 이때 값의 종류는 데이터 타입을 말한다.

그.런.데

자바스크립트는 동적타입언어이다.
변수의 타입 지정없이 값이 할당되는 과정에서 자동으로 변수의 타입이 결정된다.
즉, 변수는 고정된 타입이 없다.따라서 같은 변수에 여러 타입의 값을 자유롭게 할당할 수 있던 것이다.

그래서 본론 여기있음

1. 기본자료형 (primitive data type)

  • undefined : 선언만하고 값을 정의하지 않은 상태
  • null : 값 없음
  • boolean : true / false
  • string : 문자
  • number : 숫자
let food; 				//undefined
let nully = null; 		//null 
let isFool = false; 	//boolean
let food = "1" 			//string
let age = 1; 			//number

2.객체타입 (object/reference type)
object

  • 배열(array)
    • 객체(object)의 종류 중 하나이며, 데이터를 순차적으로 담도록 도와줍니다.
    • [ ] Bracket을 사용
    • 배열의 길이를 알고싶다면? 배열.length
    • 배열 안의 값 조회하려면? 배열[인덱스번호]
    • 배열에 새로운 값을 추가하고싶다면? 배열.push(값)
let products = ['뜨아','아아'] //array 자료형 []
let productIds = [01,02]; //array 안에는 모든 let productNestArray = [[0,1,2],[3,4,5]] //array안에 array도 가능합니다.

//products의 길이를 알고 싶다면? 
let length = products.length

//products의 첫번째 인자의 값에 접근하고 싶다면?
let firstValue = products[0]; //프로그래밍에서는 0부터 시작하는거 다들 아시잖아요.
let secondValue = products[1]; //

//products에 새로운 값을 추가하고 싶다면?
products[2] = '아바라'; //array의 3번째에 값을 넣습니다. 선호하지는 않는 방식입니다.
products.push('아바라') // ['뜨아','아아','아바라']
					//array의 마지막에 값이 추가 됩니다.
					//array에 값 추가할 때 선호하는 방식입니다.
  • 객체(object)
    • 객체는 자료들을 key,value형태로 저장하는 자료형입니다.
    • { } 중괄호 사용, 안에 key : value 를 순차적으로 넣어 사용합니다.
    • 일반적으로 상품에는 상품명, 가격, 설명 등의 데이터가 들어갑니다 이를 하나로 묶어 객체로 저장하는 것입니다.
//객체 형태
{ 
	key1 : value1,
	key2 : value2,
}

//실제 객체 사용
let product = {
    title: '아아',
    description: '살려고 먹는 아이스아메리카노',
	price : 4300
}

// product의 title 값을 얻고 싶다면?
var productTitle = product['tite']; //array에서 값을 가져오는 방식처럼 안에 key값을 넣습니다.
var productDescription = product.description //객체.key 로 접근할 수도 있습니다.

//product에 새로운 값을 추가, 변경하고 싶다면?
product['title'] = '아바라'; //값 변경1
product.tite = '아바라'; //값 변경2
product['brand'] = '스타벅스'; //값 추가1
product.brand = '스타벅스'; //값 추가2
profile
냠소현 개발일지

0개의 댓글