JavaScript / 자료형

Undefined 기술블로그 ·2020년 6월 5일
0

javascript기초

목록 보기
2/9
post-thumbnail

자료형

INDEX

1.변수선언 내용

2.Naming convertion

3.string

4.Type

5.Number

6.Boolean (Truthy & Falsy)

1.변수의 선언 내용 ( identifier )

변수를 선언할때는 숫자 , 문자열 , _ (언더바) , $ 를 첫번째 이름으로 지정할수있다.

ex) var 1 = var '이름' = var _113 var $1211 = 이렇게 변수를 선언할수있다.

1.숫자,알파벳, $, _(underscore)가 포함 될수 있다.

2.자바스크립트의 키워드 function, for , if 등등 문법을 뜻하거나 자바스크립트의 문법을 나타내는 이름은 선언할수없다.

  1. 단 숫자로 먼저 시작되어서는 안된다

ex) var function = 1; var for = 2; var if = 1; var 1 = 1;

이렇게 선언 할 수 없다는 뜻이다.

아래와같이 오류가 생긴다. / 변수를 선언할때 , 주위 해야할 점

ex) Uncaught SyntaxError: Unexpected token 'for' === 검색되지 않은 구문Error: 예기치 않은 토큰 '포함'

오류는 정확하게 해석하고 이해 해야한다.

출처 입력

2. naming convention(관행)

camelCase > var helloWorld hello+World 더해진 변수의이름은 가독성을 위해 camelCase로 작성한다.

3.String

문자열을 의미한다.

문자열은 쌍따옴표 " " , 작은따옴표 ' ' 로 구분되며 어떤걸 써도 무방하나

둘 중 하나를 선택해서 쓰기를 권장한다.

이유는 코딩을 할때 철자나, 콤마, 등등 데이터타입형식이나 오타로 인한 코드를 작성하게되면 동작 하는 과정에서

오류를 만들기 때문이다

ex) var a = '문자열' var a = "문자열"

ex) var a = '문자열 1' << 어떻게 출력될까? // 문자열 안에 숫자도 문자로 인식한다

ex) hello world // template literal >백틱

문자열은 index로 접근할수있다

'hello'[3]; // 문자열 hello의 3번째 배열은? l 출력

'hello'.length; // 문자열 hello의 길이의 갯수 5 출력

4.Type

최신 ECMAScript 표준은 다음과 같은 7개의 자료형을 정의한다.(MDN)

값에는 종류가 있다.

1.String Type

2.Number Type

3.Boolean Type

4.Null Type

5.Undefined Type

6.Object Type

7.Symbol Type (new in ES2015) - 체크만

typeof 연산자는 피연산자의 평가 전 자료형을 나타내는 문자열을 반환합니다.(MDN)

typeof

typeof 666;

typeof 'mando';

typeof function foo () { };

typeof [];

5.Number

1 + 2 ; // 1더하기2 3출력

3 - 4; // 3 빼기 4 -1출력

5 * 6 ; / 5 곱하기 6 30출력

14 % 3 ; // 14 모듈로 3 나누고 난 나머지 2출력

2 **3; // 제곱 8출력

Special numbers

NaN = not a number

0 / 0; / NaN -> 0을 나눌수있냐?

1 * 'hello'; / NaN -> 숫자 1과 문자열 hello 곱할수있냐?

연산자

1 < 2; / 1이 2보다 크냐 ? // true 출력

3 > 4; / 3이 4보다 크냐? // false 출력

5 <= 5; 5는 5보다크거나 같냐? //true 출력

6 >= 7; 6은 7보다 크거나 같냐? // false 출력

8 === 8; 8은 8과 완전히 같냐? // true

==는 타입과 상관없이 비교하고 ===는 타입까지 비교한다

'185.3' == 185.3 //true

'185.3' === 185.3 //false

8 !== 9; 8은 9와 같지않다 / !<<not 아니다를 뜻함 / true 출력

let a = 1; ++a; / 1에 대입한 값이 즉시 연산되어 바로 출력

ex) var a =1;

console.log(++a); / 2 바로 출력

let b = 1; / 1에 대입하고 난 다음에 연산되어 값을 출력

console.log(b++); / 1출력

let c = 1; --c;

let d = 1; d--;

let x = 0;

x += 1; / 더하고 대입하고 한번에 이루어진다. // 1;

x -= 1; / 빼고 대입하고 한번에 이루어진다. // -1;

x *= 2; / 곱하고 대입하고 한번에 이루어진다 // 2';

x /= 3; / 나누고 대입하고 한번에 이루어진다 //0;

x %= 4; / 나누고 나머지를 대입하고 한번에 이루어진다 // 0;

x ** = 5; /제곱하고 대입하고 한번에 이루어진다 //0;

6. Boolean

Truthy & Falsy // 참 같은 종류 , 거짓 같은 종류

아래의 값들을 제외한 모든 값은 Truthy 입니다.

undefined; // 변수의 대입 결과가 없을때

ex) if ("") { console.log(1) } // undefined 출력 "" 빈문자열은 false기때문에 연산되지않음

ex) if (" ") { console.log(1) } // 1 출력 " " 공백은 true 기때문에 연산된다

null; // 우리가 결과가없다고 표현해 줄때 (명시적)

ex) var a = null; // 직접 지정해줄때 null;

0; // false

-0; // false

NaN; // false

false; // false

''; 빈 문자열 // false

""; 빈 문자열 // false

오늘 느낀점

  1. 하나하나 해석할줄알아야함

var name = 1;

ex) 변수 name 에 숫자1을 대입했다 //변수 OO에 OO을 OO했다

  1. 단어의 정립 정확하게 명시되어있는걸 봐야함

ex) 자료형,표현식,선언,등등

  1. 쓰고 정리하고 정립하는 세차례의 걸친 작업

ex) 강의 듣고 요약 > 요약한내용 이해하기 쉽게 다시 풀이 > 풀이한 내용 다시 정립

profile
정의 되지 않은 유연한사람이 되고싶다.

0개의 댓글