1/* 2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16class C { 17 n: number // Compile-time error only with strictPropertyInitialization 18 s: string // Compile-time error only with strictPropertyInitialization 19} 20 21// Compile-time error only with noImplicitReturns 22function foo(s: string): string { 23 if (s != "") { 24 console.log(s) 25 return s 26 } else { 27 console.log(s) 28 } 29} 30 31let n: number = null // Compile-time error only with strictNullChecks 32 33function bar(): number { 34} 35 36function get1(): boolean { 37 return true; 38} 39function get2(): boolean { 40 return false; 41} 42 43function solve(): boolean { 44 if(get1() && get2()) { 45 } else if(!get2()) { 46 return true; 47 } else { 48 } 49} 50 51 52 53let lr = (): number => {} 54let le = (): number => { if(get()) return 1; } 55 56class testClass { 57 static readonly lem = (): number => { if(get()) return 1; } 58 59 solve(): boolean { 60 if(get1() && get2()) { 61 } else if(!get2()) { 62 return true; 63 } else { 64 } 65 } 66} 67