JavaScript 학습 - 1회차
JavaScript 공부에 대한 필요성을 느껴 JavaScript를 앞으로 공부해보고자 합니다.
그 과정에 대해서 개인적으로 정리하며 남기는 글입니다.
이 과정은 https://developer.mozilla.org/ko/docs/A_re-introduction_to_JavaScript 를 기반으로 진행하고 있습니다.
JavaScript Type(자료형)
우선 첫번째로 타입(자료형)입니다.
자바스크립트의 타입은 크게 기본 자료형 6가지에 Object까지 7가지라고 합니다.
기본 자료형은
- Boolean(부울)
- Null(널)
- Undefined(정의되지 않음)
- Number(수)
- String(문자열)
- Symbol(기호)
- Object(객체)
- Object(객체)
- Function(함수)
- Array(배열)
- Date(날짜)
- RegExp(정규식)
자바스크립트 Boolean은 true 또는 false의 두 값 중 하나를 나타냅니다.
사용 방식은 다음과 같고
new Boolean([value])
1. false, 0, "", NaN, null과 undefined는 모두 false가 됩니다.
2. 다른 모든 값은 true가 됩니다.
즉, Boolean 객체의 true, false 값은 원래 Boolean값인 true, false와는 다르다는 것 입니다. 말이 좀 이상하지만, 예를 통해서 보시면 이해가 될 것입니다.
x = new Boolean(false);
if (x) {
// . . . 이 코드는 true가 실행된다.
}
x = false;
if (x) {
// . . . 하지만 이 코드는 실행되지 않는다.
}
즉, 변환되지 않은 Boolean값과는 다르다고 생각하시면 될 것 같습니다(맞나?)
또한, false 값을 가진 Boolean 객체를 포함한 어떠한 객체를 이용하여 Boolean 객체를 초기화해도 값은 true입니다.
myFalse = new Boolean(false); // false 값으로 초기화
g = new Boolean(myFalse); // true 값으로 초기화
myString = new String("Hello"); // string 객체
s = new Boolean(myString); // true 값으로 초기화
Boolean에 대한 자세한 내용은 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Boolean 을 참고하시기 바랍니다.
Null 타입
Null 타입은 null이라는 오직 한 가지 값만 가질 수 있습니다.
null은 전역 객체의 프로퍼티가 아닌 리터럴이며, null 또는 undefined를 체크할 때 균등(==)과 식별(===) 연산자를 이용할 때 주의가 필요합니다.
균등 연산자는 타입 변환을 하지만 식별 연산자는 타입 변환을 하지 않기 때문에 아래와 같은 결과가 나타납니다.
null과 undefined의 차이
typeof null // object (ECMAScript 의 버그로, null이어야 함)
typeof undefined // undefined
null === undefined // false
null == undefined // true
추가적인 내용은 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/null 를 참고하시기 바랍니다.
Undefined 타입
값을 할당하지 않은 변수는 undefined 값을 가지게 됩니다.
이 타입은 상수이므로, 이것들로 다른 객체를 표현할 수는 없습니다.
추가적인 내용은 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/undefined 를 참고하시기 바랍니다.
Number 타입
특이하게도 자바스크립트에서는 정수라는 것은 존재하지 않습니다. 자바스크립트에서 수는 '이중정밀도 64비트 형식 IEEE 754 값(!?)'입니다.
그렇기 때문에 다음과 같이 산술할 때 조심해야 합니다.
0.1 + 0.2 = 0.30000000000000004 //정수가 아니니까...
Number 타입에는 덧셈, 뺄셈, 나머지 연산을 포함하는 표준 산술 연산자와 Math로 불리는 내장 객체가 있습니다.
또한, 내장 parseInt() 함수를 통해 문자열을 정수로 변환할 수 있습니다.
> parseInt("123", 10)
123
> parseInt("010", 10)
10
만일 이진수를 정수로 변환하는 경우에는 밑을 바꾸면 됩니다.
> parseInt("11", 2)
3
문자열이 수가 아닌 경우에는 NaN을 반환하며 1을 0으로 나누거나 하는 경우에는 Infinity 값을 반환하게 됩니다.
추가적인 내용은 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number 를 참고하시기 바랍니다.
String 타입
자바스크립트에서 String(문자열)은 문자 하나하나가 연결되어 만들어진 것입니다.
한 개의 문자를 나타내기 위해서는 길이가 1인 문자열을 이용하면 됩니다.
문자열의 길이는 아래와 같이 해당 문자열의 length 속성에 대한 접근으로 얻을 수 있습니다.
> "hello".length
5
또한, 아래와 같이 사용될 수 있습니다.
> "hello".charAt(0)
h
> "hello, world".replace("hello", "goodbye")
goodbye, world
> "hello".toUpperCase()
HELLO
그리고 Escape Annotation 이라고 해서 자바스크립트에서는 다음과 같은 코드들은 특별하게 사용됩니다(아래 표에서 원 기호는 \ 입니다)
Code |
Output |
\0 |
NULL 문자 |
\' |
단따옴표 ' |
\" |
쌍따옴표 " |
\\ |
백슬래시 \ |
\n |
개행문자 |
\r |
캐리지리턴 |
\v |
Vertical Tab |
\t |
탭 |
\b |
백스페이스 |
\f |
폼 피드 |
\uXXXX |
유니코드 코드포인트 |
\u{X} ... \u{XXXXXX} |
유니코드 코드포인트 |
\xXX |
라틴-1 문자 |
추가적인 내용은 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String 를 참고하시기 바랍니다.
'IT 개발' 카테고리의 다른 글
1. Tensorflow 설치 (0) | 2017.07.13 |
---|---|
Jedis Connection Pool 설정 및 사용(xml) (0) | 2017.06.22 |
자바 타임존 목록(Java Timezone List) (0) | 2017.06.15 |
Sublime Text 3 html 바로 실행하기 (0) | 2017.03.28 |
[Vue.js 2.0][Front-End Framework]Vue.js 소개 및 시작하기 (0) | 2017.03.28 |