프로그램에서 다룰 수 있는 값의 종류
let a = 30; // a는 number 타입 변수
let b = "bar"; // b는 string 타입 변수
let c = true; // c는 boolean 타입 변수
let d; // undefined 타입 변수
최신 ECMAScript 표준은 다음과 같은 7가지 자료형을 정의하고 있다.
변경 불가능한
(메모리에 올라간 값이 변경되지 않는)값이다.true
, false
두 가지의 값을 가질 수 있다.let a = true;
let b = false;
null
하나의 값만 가질 수 있다.let name = null;
console.log(name); // null
console.log(typeof name); // object
undefined
값을 가진다.let name;
console.log(name); // undefined
let num = 123;
let str = "apple"
let str2 = "orange"
let result = `${str}+${str2}`
const sym1 = Symbol();
console.log(sym1); // Symbol()
console.log(typeof sym1); // symbol
let user = new Object();
let user = {};
let user = {
name : "mark"
}
let user = { name : 'mark' };
let admin = user; // 참조가 복사되고 객체가 복제되지 않는다.
자바스크립트 엔진이 구동되는 시점에서 바로 제공되며 자바스크립트 코드 어디에서든 사용 가능하다.
브라우저 내장 객체 또한 자바스크립트가 구동되는 시점에서 바로 사용이 가능한 객체들이다.
브라우저 내장 객체는 자바스크립트 엔진을 구동하는 것들에서 build되는 객체들이다.
BOM
과 DOM
이 있다. 이 객체들은 자바스크립트 내장 객체가 구성된 후에 구성된다.
사용자가 생성한 객체들로 생성자 함수 또는 리터럴을 통해 사용자가 객체를 정의하고 확장시킨 객체들.
내장 객체들이 구성된 이후에 구성된다.
프로퍼티란 속성이란 뜻으로 자바스크립트에서 객체 내부의 속성을 의미한다.
프로퍼티는 key: “value” 의 형식으로 객체 안의 쉼표(,)로 구분되어 할당된다.
특정객체가 가지고 있는 정보를 품고 있어 그 객체가 가진 정보에 직접적으로 접근할 수 있게 해준다.
let foo = {}; // foo 객체 생성
foo.a = 1; // .연산자를 이용하여 a라는 이름의 프로퍼티를 생성하면서 1이라는 값 할당
let sum = foo.a+10; // .연산자를 이용하여 foo 객체의 a프로퍼티에 접근하여 값 활용 가능
// 출력
11
메소드란 객체가 가지고 있는 동작이며 객체 내의 함수를 칭한다.
let info = {
name : "mark"
age : "10"
}
let info = new Object();
info.name = "mark";
info.age = "10";
let info = {
name : "mark"
age : "10"
}
// 접근 방법1
let myName = info.name;
let myAge = info.age;
// 접근 방법2
let myName = info['name'];
let myAge = info['age'];
let info = {
name : "mark"
}
// 추가1
info.age = 10;
info['age'] = 10;
let info = {
name : "mark"
}
// 추가1
info.name = "alice";
info['name'] = "alice";
let info = {
name : "mark"
}
// 추가1
delete info.name = "alice";
console.log(info.name); // undefined(더이상 존재하지 않는 key/value)
https://velog.io/@surim014/웹을-움직이는-근육-JavaScript란-무엇인가-part-7-Object-35k01xmdfp
https://allinone-it.tistory.com/6
https://developer.mozilla.org/ko/docs/Web/JavaScript/Datastructures#bigint타입