let b = 3 + "string";
b = 1;
약간 변형된 이 코드를 예시로 설명하자면
타입스크립트는 b 변수에 대해서 타입을 검사할거야
첫 번째 줄에서 b의 타입은 묵시적으로 string이 될 것이고
두 번째 줄에서 오류가 날 거야. b는 string타입이 되었는데, number를 입력하려 했으니까.
타입스크립트는 이 부분에서 작동해.
첫 번째 줄만 봐서는 오류가 나지 않는게 맞아.
프갤러 2(1.231)2024-12-28 17:24
해당 댓글은 삭제되었습니다.
해당 댓글은 삭제되었습니다.2026-07-31 11:38
답글
any 아니고 타입추론 알아서 함 타입추론 어떻게 하는지도 모르는거 같은데 걍 아갈 싸매고 있으셈
익명(14.34)2024-12-28 17:20
답글
심지어 noImplicitAny 설정되어 있으니 염병하지말고 모르면 갈길 가셈
익명(14.34)2024-12-28 17:21
답글
뭘 몰라 아;; 니가말한게 내가말한건데ㅉ
프갤러 3(175.116)2024-12-28 17:22
답글
값을 명시했는데 어떻게 any로 쳐 넣었다는 말이 나옴? 니 타스는 값이 들어가도 타입 명시 안해주면 무조건 any로 취급함?
익명(14.34)2024-12-28 17:23
답글
값을 명시했는데 왜 any가 나올수가 없지? Any는 무슨 값이든 쳐 들어가서 값 명시하던 말던 들어갈수 있는건데?
프갤러 3(175.116)2024-12-28 17:24
답글
뭔 병신같은 소리지? 변수에 원시값 처박았는데 왜 any로 추론함? 병신임?
익명(14.34)2024-12-28 17:24
답글
let a:any = 3; 3으로 값 명시해줘도 애니로 들어가는데? 븅~
프갤러 3(175.116)2024-12-28 17:25
답글
병신인가? let a: any 하는거랑 let a = 3 하는거랑 같음? 병신임?
익명(14.34)2024-12-28 17:26
답글
응 애니 잘만들어가 코딩좆밥컷 ㅎㅎ 내가이김 ㅅㄱ 개좆밥새끼 ㅋㅋ
프갤러 3(175.116)2024-12-28 17:26
연산자 전부가 저러는건 아니고 +만 그럼. 자스가 문자열+숫자열 되서 ㅇㅇ b에다 -,*,%,/ 넣어보면 다 안된다고 나올꺼
뉴진파(newjeanpa)2024-12-28 17:30
const b = 3 + "string"
과정을 보자
const b : 변수 선언 (타입 추론 전)
= 3 + "string" 변수에 값 대입
3+"string" 은 +연산자 의 기능 때문에 두 값의 타입을 일치시키는 작업이 먼저들어간다
"3" + "string" 으로 3이 string 타입으로 형변환이 된다
그결과 "3string" 으로 연산결과가 나오고 타입은 string이 된다
프갤러 4(121.129)2024-12-28 17:35
답글
const b 는 아직 변수만 만들어지고 타입 추론은 값이 할당되면서 진행된다
const b = "3string" 으로 값이 대입 되고 타입은 string으로 추론되어서 적용된다.
그러니 에러는 나지 않지
전혀 감을 못잡고있구만;; 너가 지금쓰는건 js 임
아니 타입스크립트 컴파일러가 에러 뱉어줘야 하는거 아니냐고
저기서 어느 부분이 컴파일러 에러가 발생해야 한다고 생각해?
3+"string"
let b = 3 + "string"; b = 1; 약간 변형된 이 코드를 예시로 설명하자면 타입스크립트는 b 변수에 대해서 타입을 검사할거야 첫 번째 줄에서 b의 타입은 묵시적으로 string이 될 것이고 두 번째 줄에서 오류가 날 거야. b는 string타입이 되었는데, number를 입력하려 했으니까. 타입스크립트는 이 부분에서 작동해. 첫 번째 줄만 봐서는 오류가 나지 않는게 맞아.
해당 댓글은 삭제되었습니다.
any 아니고 타입추론 알아서 함 타입추론 어떻게 하는지도 모르는거 같은데 걍 아갈 싸매고 있으셈
심지어 noImplicitAny 설정되어 있으니 염병하지말고 모르면 갈길 가셈
뭘 몰라 아;; 니가말한게 내가말한건데ㅉ
값을 명시했는데 어떻게 any로 쳐 넣었다는 말이 나옴? 니 타스는 값이 들어가도 타입 명시 안해주면 무조건 any로 취급함?
값을 명시했는데 왜 any가 나올수가 없지? Any는 무슨 값이든 쳐 들어가서 값 명시하던 말던 들어갈수 있는건데?
뭔 병신같은 소리지? 변수에 원시값 처박았는데 왜 any로 추론함? 병신임?
let a:any = 3; 3으로 값 명시해줘도 애니로 들어가는데? 븅~
병신인가? let a: any 하는거랑 let a = 3 하는거랑 같음? 병신임?
응 애니 잘만들어가 코딩좆밥컷 ㅎㅎ 내가이김 ㅅㄱ 개좆밥새끼 ㅋㅋ
연산자 전부가 저러는건 아니고 +만 그럼. 자스가 문자열+숫자열 되서 ㅇㅇ b에다 -,*,%,/ 넣어보면 다 안된다고 나올꺼
const b = 3 + "string" 과정을 보자 const b : 변수 선언 (타입 추론 전) = 3 + "string" 변수에 값 대입 3+"string" 은 +연산자 의 기능 때문에 두 값의 타입을 일치시키는 작업이 먼저들어간다 "3" + "string" 으로 3이 string 타입으로 형변환이 된다 그결과 "3string" 으로 연산결과가 나오고 타입은 string이 된다
const b 는 아직 변수만 만들어지고 타입 추론은 값이 할당되면서 진행된다 const b = "3string" 으로 값이 대입 되고 타입은 string으로 추론되어서 적용된다. 그러니 에러는 나지 않지
만약 js의 + 연산자의 기능을 제대로 알고 싶다 하면 spec 문서를 보면 됨
https://262.ecma-international.org/15.0/index.html#sec-addition-operator-plus