본문 바로가기

카테고리 없음

2021년 12월 29일 개발일지

타입스크립트에 대해서 더 공부 .

 

null type

null 이라는 값으로 할당된 것을 null이라고 합니다 .

무언가가 있는데 , 사용할 준비가 덜 된 상태 입니다 .

null이라는 타입은 null이라는 값만 가질 수 있습니다 .

런타임에서 typeof 연산자를 이용해서 알아내면 , object입니다 .

 

undefined type

값을 할당하지 않은 변수는 undefined 라는 값을 가집니다 .

무언가가 아예 준비가 안된 상태 입니다 .

object의 propery가 없을 때도 undefined입니다 .

런타임에서 typeof 연산자를 이용해서 알아내면 , undefined입니다 .

 

object

원시타입이 아닌것을 나타내고 싶을때 사용하는 타입

 

array 

원래 자바스크립트에서 array는 객체입니다 .

사용방법 

 Array <타입>

 타입[]

 

tuple 

let array : [number , string] = [3,'helloworld']

array = ['hi' , 4 ] // error

array = [4, 'hi'] // good

 

any 

어떤 타입이던 들어올수 있습니다.

이걸최대한 쓰지않는게 핵심입니다 .

왜냐하면 컴파일 타입에 타입 체크가 정상적으로 이뤄지지 않기 때문입니다 .

그래서 컴파일 옵션중에는 any를 써야하는데 쓰지 않으면 오류를 뱉도록 하는 옵션도 있습니다 . => noimplicitAny

 

unknown

응용 프로그래밍을 작성할때 모르는 변수의 타입을 묘사해야 할수도 있습니다 .

이경우 컴파일러와 코드를 읽는 사람에게 이 변수가 무엇이든 될 수 있음을 알려주는 타입을 unknown으로 지정합니다.

원래 any로 작성하였는데 any와 관련된 코드들이 타입의 안정성을 해치기때문에 unknown으로 지정합니다 .

 

never 

never타입은 모든타입의 subtype이며 , 모든 타입에 할당 할 수 있습니다 .

하지만 never에는 그 어떤 것도 할당할 수 없습니다 .

any조차도 never에게 할당 할수 없습니다 .

잘못된 타입을 넣는 실수를 막고자 할때 사용하기도 합니다 .

 

 

vue.js에 대해서 공부 

설치 : 글로벌로 먼저 cli를 설치합니다 .

npm install -g @vue/cli

후에

 vue create 폴더명   하면 옵션을 선택할수 있는데 , 선택하면 자동으로 다운이 됩니다 

npm run serve 하면 서버가 열립니다 .

 

Vue.Js의 구조

<templete> 태그 안에 html 을 작성하고 ,

<script> 태그 안에 javascript를 작성 ,

<style> 태그 안에 scss 문법을 작성 할 수 있습니다 . 

 

onClick 대신 vue 에서는 @click을 사용해서 함수를 붙일수 있습니다 .

vue에서 for 문을 돌리는 방법

v-for 라는 속성을 사용합니다 .

<template>

  <ul>

        <li v-for='fruit in fruits :key='fruit''>

           {{ fruit }}

        </li>

  </ul>

</template>

<script>

    export default {

       data() {

           return {

               fruits ; [ 'apple' , 'banana' , 'Cherry' ]

                    }

                }

 

                       }

</script>

 

vue.js 의 라이프사이클을 간단하게 정리해보면

 

beforeCreate => created => beforeMount => mounted => mounted => beforeDestroy =>destroyed

마운트 된 상태에서 업데이트를 실시하면 

mounted => beforeUpdate => Virtual DOM re-render and patch => updated 

 

여기서 얻은 아이디어로는 React에서 사용하던 useEffect는 컴포넌트가 랜더 될때마다 실행이 되는 Hook인데 ,

Vue 에서는 beforeMount를 대신 사용하면 됄 것 같습니다 .