JS String 和 new String的区别

之前看到一个题目如下,因为基础知识不扎实,看起来很简单的一个流程语句,都没有答上来,特此记录下

function showCase(value) {
   switch(value) {
   case 'A':
       console.log('Case A');
       break;
   case 'B':
       console.log('Case B');
       break;
   case undefined:
       console.log('undefined');
       break;
   default:
       console.log('Do not know!');
   }
}
showCase(new String('A'));//Do not know

当通过new 调用 String()时,返回的是一个object



当通过字面量或者直接调用String(),返回的是一个字符串



并且在switch中,都是严格比较。所以上面 new String('A') === 'A' 为false

你可能感兴趣的:(JS String 和 new String的区别)