SlideShare ist ein Scribd-Unternehmen logo
1 von 19
JavaScript-타입
우재성
자료형 – Undefined
• 원시값이 undefined.
• 선언이 안된 것과 다르다.
• typeof 실행시 “undefined” 문자열 출력
• void 연산자와 값과 같다. (undefined === void 0)
• 우리가 자주 보는..
자료형 – Null
• 원시값이 null
• typeof 실행시 “Object” 하지만 객체가 아니며 이 현상은 버그
• 변수가 아무런 객체를 가리키지 않음을 표현 – 객체가 존재하지 않을 때 사용
• undefined와 유사하게 형변환시 false 처리 하지만 값은 다름
• 우리가 자주 보는..
자료형 – Boolean
• true 혹은 false 값만을 가질수 있다.
• typeof 실행시 “boolean” 문자열 출력
• 같은 Boolean 타입을 제외한 모든 추상동치 비교시 Number로 변환된다. (true: 1, false: 0)
• Boolean 객체를 사용할 땐 주의
자료형 – Number
• -(2^53 − 1)부터 2^53 − 1까지의 수 (64bit 사용)
• Number는 숫자외에 +Infinity, -Infinity, NaN 세개의 원시값을 가진다.
• NaN(Not a Number)의 typeof는 Number
• 고질병 정밀도 문제가 남아있다.
• 안전한계를 넘어선 계산이 불안정 (-9007199254740991 ~ 9007199254740991)
자료형 – Number
• 안전한계를 넘어선 계산은 오류를 뱉지 않고 그대로 진행하여 맞지 않는 값이 나온다.
• 특정 소수를 계산하는 경우 이진법으로 변환 과정에서 오차 값이 추가되버리는 현상.
자료형 – BigInt
• Number의 안전한계를 넘어서는 정수도 저장가능
• 정수의 끝에 n을 붙여서 생성
• BigInt와 Number는 다른타입 (연산시 TypeError)
• 기본적인 동작은 Number와 동일
자료형 – String
• 꾸준히 업데이트 되어지고 있으며 원시값 중 가장 자주 쓰임
• 디버깅이 쉬움
• 가장 많고 다양한 메서드로 다양한 유형으로 활용되는 자료형
• 연산과정과 값에 따라 형변환이 많이 일어남
자료형 – Symbol
• 자바스크립트는 객체 프로퍼티 키로 오직 문자형과 심볼형만을 허용
• 유일한 식별자 생성에 사용
• 생성자로 생성 불가
• 외부로부터 자신을 보호할 수 있는 속성 형성
자료형 – Symbol
자료형 – Object
• Javascript에서 객체는 일반적으로 key-value 구조를 가지며
value에는 아무거나 들어갈 정도로 자유도가 높다
• Function, Array도 객체, 원시값이 아닌 모든 값은 객체
• JS 내장 객체, 브라우저 내장 객체, 사용자 정의 객체로 구분되어진다
• 참조 타입이라고 한다
원시값?
• 객체를 제외한 모든 값은 불변하며 원시값이라고 지칭한다
• Undefined, Null, Boolean, Number, BigInt, String, Symbol의 7개의 타입이 원시값
원시값 - 불변
100 우재성 108
101 109 345
102 110
103 111
104 우재성2 112
105 113 678
106 114
107 115
• https://velog.io/@harimad/0.10.2-0.3-in-JS 부동소수 정밀도 문제
• https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures MDN javascript
• https://geonlee.tistory.com/168 객체 형변환
• https://choiseokwon.tistory.com/361 toPrimitive 객체 형변환
출처

Weitere ähnliche Inhalte

Mehr von Wonjun Hwang

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)Wonjun Hwang
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)Wonjun Hwang
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)Wonjun Hwang
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)Wonjun Hwang
 
Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Wonjun Hwang
 
JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)Wonjun Hwang
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Wonjun Hwang
 
XSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyXSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyWonjun Hwang
 
Flutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyFlutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyWonjun Hwang
 
얕은복사,깊은복사
얕은복사,깊은복사얕은복사,깊은복사
얕은복사,깊은복사Wonjun Hwang
 
Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Wonjun Hwang
 
완전 유용한 CSS 모음
완전 유용한 CSS 모음완전 유용한 CSS 모음
완전 유용한 CSS 모음Wonjun Hwang
 
2024 개발 트렌드
2024 개발 트렌드2024 개발 트렌드
2024 개발 트렌드Wonjun Hwang
 
디바운싱과 쓰로틀링
디바운싱과 쓰로틀링디바운싱과 쓰로틀링
디바운싱과 쓰로틀링Wonjun Hwang
 
스마트한 팀 협업
스마트한 팀 협업스마트한 팀 협업
스마트한 팀 협업Wonjun Hwang
 

Mehr von Wonjun Hwang (20)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
 
Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)
 
JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)
 
XSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyXSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team Study
 
Flutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyFlutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team Study
 
PWA
PWAPWA
PWA
 
얕은복사,깊은복사
얕은복사,깊은복사얕은복사,깊은복사
얕은복사,깊은복사
 
Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기
 
완전 유용한 CSS 모음
완전 유용한 CSS 모음완전 유용한 CSS 모음
완전 유용한 CSS 모음
 
2024 개발 트렌드
2024 개발 트렌드2024 개발 트렌드
2024 개발 트렌드
 
디바운싱과 쓰로틀링
디바운싱과 쓰로틀링디바운싱과 쓰로틀링
디바운싱과 쓰로틀링
 
Passkey
PasskeyPasskey
Passkey
 
스마트한 팀 협업
스마트한 팀 협업스마트한 팀 협업
스마트한 팀 협업
 
AI News '23.12
AI News '23.12AI News '23.12
AI News '23.12
 

javascript 자료형

  • 2.
  • 3.
  • 4.
  • 5. 자료형 – Undefined • 원시값이 undefined. • 선언이 안된 것과 다르다. • typeof 실행시 “undefined” 문자열 출력 • void 연산자와 값과 같다. (undefined === void 0) • 우리가 자주 보는..
  • 6. 자료형 – Null • 원시값이 null • typeof 실행시 “Object” 하지만 객체가 아니며 이 현상은 버그 • 변수가 아무런 객체를 가리키지 않음을 표현 – 객체가 존재하지 않을 때 사용 • undefined와 유사하게 형변환시 false 처리 하지만 값은 다름 • 우리가 자주 보는..
  • 7. 자료형 – Boolean • true 혹은 false 값만을 가질수 있다. • typeof 실행시 “boolean” 문자열 출력 • 같은 Boolean 타입을 제외한 모든 추상동치 비교시 Number로 변환된다. (true: 1, false: 0) • Boolean 객체를 사용할 땐 주의
  • 8. 자료형 – Number • -(2^53 − 1)부터 2^53 − 1까지의 수 (64bit 사용) • Number는 숫자외에 +Infinity, -Infinity, NaN 세개의 원시값을 가진다. • NaN(Not a Number)의 typeof는 Number • 고질병 정밀도 문제가 남아있다. • 안전한계를 넘어선 계산이 불안정 (-9007199254740991 ~ 9007199254740991)
  • 9. 자료형 – Number • 안전한계를 넘어선 계산은 오류를 뱉지 않고 그대로 진행하여 맞지 않는 값이 나온다. • 특정 소수를 계산하는 경우 이진법으로 변환 과정에서 오차 값이 추가되버리는 현상.
  • 10. 자료형 – BigInt • Number의 안전한계를 넘어서는 정수도 저장가능 • 정수의 끝에 n을 붙여서 생성 • BigInt와 Number는 다른타입 (연산시 TypeError) • 기본적인 동작은 Number와 동일
  • 11. 자료형 – String • 꾸준히 업데이트 되어지고 있으며 원시값 중 가장 자주 쓰임 • 디버깅이 쉬움 • 가장 많고 다양한 메서드로 다양한 유형으로 활용되는 자료형 • 연산과정과 값에 따라 형변환이 많이 일어남
  • 12. 자료형 – Symbol • 자바스크립트는 객체 프로퍼티 키로 오직 문자형과 심볼형만을 허용 • 유일한 식별자 생성에 사용 • 생성자로 생성 불가 • 외부로부터 자신을 보호할 수 있는 속성 형성
  • 14. 자료형 – Object • Javascript에서 객체는 일반적으로 key-value 구조를 가지며 value에는 아무거나 들어갈 정도로 자유도가 높다 • Function, Array도 객체, 원시값이 아닌 모든 값은 객체 • JS 내장 객체, 브라우저 내장 객체, 사용자 정의 객체로 구분되어진다 • 참조 타입이라고 한다
  • 15. 원시값? • 객체를 제외한 모든 값은 불변하며 원시값이라고 지칭한다 • Undefined, Null, Boolean, Number, BigInt, String, Symbol의 7개의 타입이 원시값
  • 16. 원시값 - 불변 100 우재성 108 101 109 345 102 110 103 111 104 우재성2 112 105 113 678 106 114 107 115
  • 17.
  • 18.
  • 19. • https://velog.io/@harimad/0.10.2-0.3-in-JS 부동소수 정밀도 문제 • https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures MDN javascript • https://geonlee.tistory.com/168 객체 형변환 • https://choiseokwon.tistory.com/361 toPrimitive 객체 형변환 출처