*JS 를 배우기 시작
변수 , 상수, 데이터타입 , 기초
프로그래밍 : 데이터 조작
JS?
: 데이터를 담고, 꺼내 쓰는 상자
console.log()
-var (자주 사용하지 않음)
-let let box(변수명=유추하기쉽게);
-const. (상수 변수)
: = (할당에만 사용)
let box; box = 123; box라는 변수에 할당연산자 이용해서 123 데이터 할당(let box = 123; ⇒ 선언과 동시에 할당)
변수참조 console.log(box) ⇒ 123(참조)
console.log(box*3) ⇒ 369
: 이미 데이터 할당된 변수에 다시 할당
: 이미 선언된 변수명으로 다시 선언
: 재할당 가능, 재선언 불가
: 상수 변수 → 재할당, 재선언 불가 : 선언, 할당 동시에 이루어져야함
: 재할당, 재선언 가능
변수명은 동사가 아닌 명사로(국룰)
첫 글자는 숫자 사용 불가
mdn에 자바스크립트 예약어 검색
변수명 표기 국룰
camelCase (가장 많이 사용)
첫단어 모두 소문자, 띄어쓰기 뒤 대문자
PascalCase 첫글자도 대문자
snake_case 띄어쓰기 대신 언더바
String : 문자열 → 텍스트 데이터 *공백도 문자열임(””)
큰따옴표”123abc”, 작은따옴표 ‘123abc’
let box = “box”; 더하기 연산만 가능
Number : 숫자 그대로 입력; 따옴표로 감싼숫자(텍스트 데이터)vs그냥숫자(모든 연산 가능)
문자열 + 숫자 : 문자열로 변환 (문자열 연결 연산자)
문자열 * 숫자 : NAN(not a number)
숫자로 바뀔 수 있는 문자열 ‘2’ * 2
*→’2’ 숫자로 변환 시도 ; 실패 → NAN
Boolean
undefined
null
symbol
Bigint
Object
array & object
Array(배열) : 순서가 있는 데이터 컬렉션 저장시 사용
데이터 컬렉션이 논리적으로 정의된 규칙에 의해 나열, 여러개의 데이터를 순서와 함께 저장하는 창고.
1st “Jason”
2st “alice”
3st “chris”
index(값) 0 1 2 (순서) 0부터시작
let ranking = [ ”Jason”, “Alice”, “Chris” ]
요소 요소 요소(다양한 데이터타입)
ranking[0] → “Jason”
데이터타입이 가진 속성
Array.length ; 특정 배열의 길이 나타냄(배열 내 요소의 개수)
1부터
기능이 담긴 명령어
배열(Array) Method
push()
let ranking = [ ‘mj’, ‘sc’, ‘lbj’ ] + ‘so’ (재할당도 가능하지만)
ranking.push(’so’) → [ ‘mj’,~,’so’ ]
pop() 배열의 가장 끝 데이터 제거
ranking.pop() ← 데이터 입력 X, 자동제거(끝에거)
indexOf()
ranking.indexOf(”sc”) = 1
Array.includes() 특정 배열에 주어진 데이터 존재하는지 여부
true or false 반환 ranking.includes(”sc”) ⇒ true
let ranking = [ ‘lbj’, ‘mj’, ‘sc’, ‘so’, ‘ho’ ]
name : ‘lbj’
age : 38
gender : male
데이터 함께 관리해야 할 때. 각각 변수? let lbjAge, …
let lbjData = ? 명확하지 않음…
객체 : 여러개 속성 가진 데이터 타입
let userData = { name: ‘?’, age:?, gender:’Male’ };
name : ‘?’ → key:value
userData.name → ‘?’ name이라는 키의 밸류를 참조해 가져옴
userData.email = “~@~” 키 할당 및 밸류 추가 가능
userData[”name”] → “value”
[”email”] 새 키 추가 가능
[name] → 문자열 아닐시 변수로 취급
Object.keys() ; 객체의 프로퍼티중 키만 가져와 배열에 담음
Object.keys(jasonData)
[’name’, ‘age’, ‘gender’] 문자열 형태
Object.values() ; 밸류만 가져와 배열에 담음
[’Jason’, 25, ‘male’] - 순서존재하지않음
: 순서가 존재하는 데이터 창고
대괄호로 생성
각각의 요소는 쉼표로 구분
0부터 시작하는 ㄴ위치 데이터 Index → 이를 활용해 요소에 접근
배열 속성 length 요소의 개수를 기반으로 길이 알려줌
push() pop() indexOf() includes()
: 중괄호 사용해 정의
내부의 요소는 프로퍼티 (키:value)
닷노테이션, 브라켓노테이션 (접근방법)
새로운프로퍼티 생성 (아직존재하지않는 프로퍼티:값-값엔 배열도 할당 가능)
Object.keys() → 키 모음 배열로( 문자열로 )
.values() → 모든값 데이터타입 그대로 돌려줌; 어떤 데이터든 할당할 수 있기 때문에